From Fedora Project Wiki


GHC 7.0

Summary

The next major version of the Glasgow Haskell Compiler (ghc) is due soon and should become version 7.0. It has many new features, including a new I/O manager, new type-checker, new improved parallel garbage collector, and support for a new LLVM compilation backend.

Owners

Current status

  • Targeted release: Fedora 15
  • Last updated: 11 Sep 2010
  • Percentage completion 0%

Detailed Description

  • Create a dist-f15-ghc7 buildroot to avoid dependency disruption to rawhide.
  • Create scripts to automate the rebuilding of all the Haskell packages in Fedora.
  • Update ghc to new version and build into dist-f15-ghc7.
  • Update ghc-rpm-macros if necessary.
  • Add support to cabal2spec for delta-patching packages to update them for newer packaging template and rebuild.
  • Rebuild packages including all the libraries in dist-f15-ghc7 with the automated cabal2spec patching and dependency build script.
  • Move final built sets of packages to dist-f15.

Benefit to Fedora

Fedora will benefit by providing the latest ghc compiler to its users with many performance and feature enhancements.

Scope

  • Minimal impact outside of Haskell packages
  • Rebuilding all Haskell packages: see Detailed Description above

How to Test

  • Packagers
    • Build packages against GHC 7.0
    • Many Haskell libraries and applications include test suites already (not many are enabled to my knowledge). Enabling these will help catch errors.
  • Testers
    • General usage of packaged Haskell applications to find bugs (probably manifest as assertion errors or exceptions)
      • darcs
      • cabal

User Experience

Developers will be able to use GHC 7.0.

Dependencies

  • Haskell packages (to be handled by the Haskell SIG for the most part)
  • Haskell Platform release (hopefully there will be a release available in time)

Contigency Plan

  • In the unlikely event that the version upgrade is not possible, any partial work will simply be left dist-f15-ghc and we will release F15 with the current ghc-6.12.3 set of packages.

Documentation

Release Notes

Comments and Discussion