From Fedora Project Wiki

Revision as of 16:27, 24 May 2008 by Ravidiip (talk | contribs) (1 revision(s))

Haskell Development Support

Summary

Provide good support for Haskell development and use, with a high number of quality libraries and tools available.

Owner

  • Name: YaakovNemoy

Current status

  • Targeted release: Fedora 10
  • Last updated: 2008-02-02
  • Percentage of completion: 15%
  • We are slipping on the Fedora 9 date, due to lack of time or resources - YaakovNemoy
  • The idea of how spec files should look is complete, but there are still bugs

Detailed Description

Haskell is a very powerful language with growing usage. Currently Fedora support for Haskell is minimal. Many developers, scientists, and other technically oriented people are drawn away from Fedora for a lack of Haskell support. There are also a number of applications written in Haskell that require at least some level of support to include them in Fedora and to keep them up to date. This includes:

  • xmonad - A window manager
  • xmobar - A display bar program for X
  • pugs - A Perl 6 implementation
  • darcs - a source control management program
  • Yi - an editor that can be programmed in Haskell
  • Meep - Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems.
  • Frob - an Embedded Domain Specific Language for controlling robots. It is built using the principals of Functional Reactive Programming, as developed by Conal Elliott for the Fran animation system. The current incarnation of Frob is part of the Yampa FRP system.
  • hpaste - a pastebin written in Haskell

Haskell is also a very popular language for any sort of 3D rendering, and there are a number of applications devoted to it. Good Haskell support would be useful for a wide variety of Desktop Spins.

Benefit to Fedora

Good Haskell support would make Fedora and family available to a wide variety of users. It would encourage growth within technical circles that are tech savvy but also focused on their particular fields.

Scope

To start, getting some basic support in beyond just the few core packages available today. Furthermore, this could be something to be passed along to the Ambassador team so that they can present Fedora to different scientific and other technical groups as a solid base to work from. The hope is to have this included in Fedora 9, so that it can also be a part of RHEL 6, as rumors suggest this is going to be the base for that.


Test Plan

1. Write Package Guidelines 2. Include a number of libraries and programs 3. Get them tested by people to make sure there are no mess-ups 4. Verify nothing breaks 5. Test this on as many architectures as possible 6. Evaluate foreign function interface libraries between haskell and other libraries and virtual machines 7. (Not necessarily Fedora 9) Implement a collection of FFI libs, to broaden access to libraries

What else goes here?


User Experience

The user will see some new programs available. The developer will have access to more libraries in Haskell, and an ease of use in programming in and for Fedora using Haskell. This will not affect anyone not using Haskell.

Dependencies

  • Dedicated Package Reviewing

Contingency Plan

Packages that can't meet quality standards by the release time will be held back till the next release. A full rollback is as simple as blocking every new haskell project.

At this point, because Fedora 9 is too soon, there is nothing needed to be done to rollback.

Documentation

Release Notes

Other than adding a Blurb about improved Haskell support, there isn't much to say here. More details will pop up as development goes further. It will be a good advertising point, so having high visibility for this in the Release Notes, as a first class feature, would be appreciated.

Update (2008-02-02 YaakovNemoy): Progress on this project has been slow. I'll be doing something about it before Beta. I suppose you might say that the state of most of the TODO list line items are in a very Alpha State. If I get only a couple of tasks done, the release notes should look something like this:

Fedora 9 introduces better support for Haskell. With a new set of packaging guidelines and tools, it is incredibly easy to support any Haskell program using the Glasgow Haskell Compiler. Package creation and deployment, leveraging Fedora's quality tools plus a few new friends has never been easier. As support for Haskell grows there will be continued development for Haskell as more libraries are introduced.