Version 18 (modified by guest, 10 years ago) (diff)


Project suggestions for the 2006 GHC hackathon

See also FridayIdeas - someone should combine these lists :)

Add your suggestions for the hackathon below...

GHC Projects

  • Hack to allow RTS to integrate with an external event loop (eg to give us ideal threading when using Gtk+)
  • Add a ghc --clean that just executes find -name '*.o' -o -name '*.hi' -exec rm {} \;, perhaps in a more portable fashion
  • Further work on debugging in GHCi
  • Get the front panel working again (#599)
  • WARNING pragma (#657)
  • Warning suppression (#602)
  • Accept more encodings for source code (#690)
  • Use gcc's libffi to implement Adjustor.c & ByteCodeFFI
  • Add :edit support to GHCi (#95)
  • Option to allow compiling from within GHCi (#276)
  • GHC plugins: allow passes to be loaded at runtime from plugins
  • Get shared libraries or DLLs working
  • Build a Windows-native version of GHC (using MS tools instead of gcc).
  • GHC API clients: hstags, code metrics (eg. feature use)
  • Implemene the static argument transformation (#888)
  • Whole-program dead-code detection (with --make).
  • Whole-program overloading elimination (with --make).

  • -Ofile: take the list of optimisation passes to run from a file instead of current hard-wired sequence.
  • -fmonad-comprehension: Reuse existing list comprehension code to restore it for arbitrary monads.
  • Improve the profiler (longer stacks reported while heap profiling, for example)

  • Add type parameter to HsSyn for the post-typechecking type to ensure it does not exist until after typechecking
  • Improve pretty-printer for Core to have better layout -- Geoff Washburn may look at this.
  • Improve instance deriving: allow deriving Enum for more types, allow deriving Eq, Ord, Show for GADTs. -- Bjorn Bringert
  • Hacking the build system (for example)
  • Setting up GHC to build the base library using Cabal (since you have the GHC team, the Cabal team and the hmake team in one place!)
    • Isaac Jones - I can be available for general Cabal questions as well.
  • Hacking on Cabal-Get (not really a GHC thing!)
    • Isaac Jones
  • Fix C-- (cmm) output?
  • Resuscitate ExternalCore
  • Low hanging optimizations?
  • STGLint
  • Rewrite the Evil Mangler in Haskell?
  • GHC RTS in Cyclone?
  • Work on GHC API, I would like to use it to provide feedback and interactivity to programmers
  • Hook a multithreaded memory manager into the RTS

Library Projects

  • Work on the Streams library
  • Replace GMP with OpenSSL mp library (#601)
  • A binding for your favourite C/C++ library... (eg. GStreamer?)

Cabal Projects

  • Cabalisation of the GHC library (#654)
  • Put two solid days of work into getting cabal-get finished and stable. Additionally, put as many packages into the DB as possible.

More Project Suggestions

  • Generate Windows installers automatically from Cabal packages (or other OS-specific package format, eg. RPM)
  • Guarantee that .hi files and .o files are consistent, possibly by means of some sort of digital signature that would cause a link-time failure
  • A visualizer that would allow one to step forward and backward through the transformations that the compiler is doing (instead of crawling through endless outputs of -ddump-*).