From Fedora Project Wiki

< Features

Revision as of 22:50, 10 July 2008 by Poelstra (talk | contribs) (accepted at the 2008-07-10 FESCo meeting)

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-06-03
  • Percentage of completion: 25%
  • The idea of how spec files should look is complete, but there are still minor bugs
  • The guidelines need to be reviewed and accepted. Once this happens, we are more than halfway complete

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 10, 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 - Done, Needs Review
  2. Include a number of libraries and programs - In Progress
  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
  8. 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.

Documentation

Release Notes

Fedora 10 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.