Features/GoodHaskellSupport

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(accepted at the 2008-07-10 FESCo meeting)
(fesco voted to drop at 2008-09-24 meeting due to lack of communication; we can ask FESCo to reconsider if you wish)
 
(3 intermediate revisions by 2 users not shown)
Line 9: Line 9:
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/10|Fedora 10]]  
+
* Targeted release: [[Releases/ |Fedora ?]]  
* Last updated: 2008-06-03
+
* Last updated: 2008-09-24
* Percentage of completion: 25%
+
* Percentage of completion: 75%
 +
* Complete enough to be considered a 'feature'
 
* The idea of how spec files should look is complete, but there are still minor bugs
 
* 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
+
 
 +
== ToDo (Targeting a Fedora 10 Release) ==
 +
 
 +
''These tasks will guarantee the sustainability of this feature''
 +
 
 +
# Get at least 20 packages in and supported
 +
# Get at least one dedicated reviewer to reviewing Haskell packages, with good knowledge about Haskell and GHC
 +
 
 +
''For long term ToDo tasks, see the Test Plan''
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 41: Line 50:
 
== Test Plan ==
 
== Test Plan ==
  
# Write Package Guidelines - Done, Needs Review
+
# Write Package Guidelines - Done
 
# Include a number of libraries and programs - In Progress
 
# Include a number of libraries and programs - In Progress
 +
# Double check that /etc/rpm/macros.ghc exists on a system with GHC installed
 
# Get them tested by people to make sure there are no mess-ups
 
# Get them tested by people to make sure there are no mess-ups
# Verify nothing breaks
+
** This depends on the nature of each package.
 
# Test this on as many architectures as possible
 
# Test this on as many architectures as possible
 +
** Make sure packages can be built on as many architectures that GHC supports
 +
 +
== Future ideas ==
 +
 
# Evaluate foreign function interface libraries between haskell and other libraries and virtual machines
 
# Evaluate foreign function interface libraries between haskell and other libraries and virtual machines
 
# (Not necessarily Fedora 9) Implement a collection of FFI libs, to broaden access to libraries
 
# (Not necessarily Fedora 9) Implement a collection of FFI libs, to broaden access to libraries
Line 60: Line 74:
 
== Contingency Plan ==
 
== 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.
+
Since the guidelines are in place, and the ghc package is patched to match this, there is nothing that needs to be 'rolledback' any further.
  
 
== Documentation ==
 
== Documentation ==
Line 71: Line 85:
  
 
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.
 
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.
 +
 +
Package creation is quite simple.  Haskell already provides the infrastructure for compiling and deploying packages consistently. Setting up a package for Fedora takes very little time, meaning code that works in Haskell will work in Fedora too.
 +
 +
Fedora also provides tools for enterprise deployment of Fedora packages.  With the inclusion of Haskell in Fedora, the developer is now free to write enterprise level applications in Haskell and feel secure knowing the code can be use in Fedora.
  
 
----
 
----
[[Category:AcceptedFedora10]]
+
 
 +
[[Category:FeaturePageIncomplete]]

Latest revision as of 03:08, 26 September 2008

Contents

[edit] Haskell Development Support

[edit] Summary

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

[edit] Owner

  • Name: YaakovNemoy

[edit] Current status

  • Targeted release: Fedora ?
  • Last updated: 2008-09-24
  • Percentage of completion: 75%
  • Complete enough to be considered a 'feature'
  • The idea of how spec files should look is complete, but there are still minor bugs

[edit] ToDo (Targeting a Fedora 10 Release)

These tasks will guarantee the sustainability of this feature

  1. Get at least 20 packages in and supported
  2. Get at least one dedicated reviewer to reviewing Haskell packages, with good knowledge about Haskell and GHC

For long term ToDo tasks, see the Test Plan

[edit] 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.

[edit] 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.

[edit] 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.


[edit] Test Plan

  1. Write Package Guidelines - Done
  2. Include a number of libraries and programs - In Progress
  3. Double check that /etc/rpm/macros.ghc exists on a system with GHC installed
  4. Get them tested by people to make sure there are no mess-ups
    • This depends on the nature of each package.
  1. Test this on as many architectures as possible
    • Make sure packages can be built on as many architectures that GHC supports

[edit] Future ideas

  1. Evaluate foreign function interface libraries between haskell and other libraries and virtual machines
  2. (Not necessarily Fedora 9) Implement a collection of FFI libs, to broaden access to libraries
  3. What else goes here?

[edit] 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.

[edit] Dependencies

  • Dedicated Package Reviewing

[edit] Contingency Plan

Since the guidelines are in place, and the ghc package is patched to match this, there is nothing that needs to be 'rolledback' any further.

[edit] Documentation

[edit] 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.

Package creation is quite simple. Haskell already provides the infrastructure for compiling and deploying packages consistently. Setting up a package for Fedora takes very little time, meaning code that works in Haskell will work in Fedora too.

Fedora also provides tools for enterprise deployment of Fedora packages. With the inclusion of Haskell in Fedora, the developer is now free to write enterprise level applications in Haskell and feel secure knowing the code can be use in Fedora.