Hac 2007 II/Projects

From HaskellWiki
Jump to navigation Jump to search

Generic Information

You can apply for an account and a project using the community server. Ping Igloo on #haskell-hac07 and he'll create the account. You can also apply for a project.

Once you have an account and a project, you upload a Darcs repository as follows. First, initialize your repository on the server:

 $ ssh community.haskell.org
 you@haskell:~$ cd /srv/code/yourproject
 you@haskell:/srv/code/yourproject$ darcs init

Then, log out and push your repository:

 $ darcs push community.haskell.org:/srv/code/yourproject

Who knows about what

A list of projects you've worked on or know fairly well:

Name Projects
dons ByteString, xmonad, Data.Binary, lambdabot, hmp3, curses, QuickCheck, HPC, hs-plugins, yi, nobench/nofib, ghc
Binkley ghc, darcs (a little bit)
skogsbaer (Stefan Wehr) hscurses, rhaskell
Pepe ghc (front end mostly), ghci debugger, cabal-install (very little)
ivant Functional MetaPost, xmonad
kolmodin (Lennart Kolmodin) Data.Binary, Gentoo Linux, Haste (Haskell Turbo-Edit,a Haskell IDE in Haskell), hackport (hackage for Gentoo), hinotify, dbus-haskell
Heffalump (Ganesh Sittampalam) darcs patch theory
conal (Conal Elliott) functional reactive programming, DataDriven evaluation, tangible functional programming, graphics, embedded compilers, applicative functors, wxHaskell

Active Projects

Please feel free to describe your current project here!


ByteString network

Change Network.* to use strict ByteStrings instead of Strings. It would also be nice to tidy up the #ifdef mess.

Current hacker(s): tibbe (Johan Tibell)


updating to 6.8

Current hackers: dons

Probability monads

A really cool existing implementation: Probabilistic functional programming

Darcs repository and draft paper.

Things to work on:

  1. Get MaybeT into Hackage.
  2. Is WriterT really the right monad transformer? We want the join and bind operations, but not the rest of the MonadWriter type class.
  3. Should probabilities be represented as floats, fractions or a type class?
  4. Can this run fast enough to be useful?


  1. MaybeT docs and Darcs repository. This should have all the features of New_monads/MaybeT, except for the potentially ambiguous MonadPlus instance.

Current hacker(s): ekidd (Eric Kidd)

Yi hacking

Yi needs a lot of love and doesn't work out of the box for me. One of the nice thing to try to do is to add the collaborative editing plugin to yi (in the spirit of the Gobby editor).

  • vincenz: Definitely would like to add some usability input here regarding Gobby functionality (having used it and having found it lacking in several areas, areas that could be improved through reusing some darcs theory).
  • ivant: also need to add unicode support to yi
  • vincenz: Move away from System.Filepath to something std supported
  • Cabalize the current 'Setup.hs' *Cabal hackers welcome for help*
  • Update the regex dependencies to work with the newest one.

Current hacker(s): ivant (Ivan Tarasov), vincenz (Christophe Poucet)

Tangible functional programming

Some to-do items:

  • More built-ins
  • Save
  • Improved user experience for gestural composition, e.g., drag & drop
  • Does it work on MacOS? Linux?
  • Sum types
  • Code generation via hs-plugins or ghc-api or Harpy.

Current hacker(s): conal

General composition tools

Type composition & related

TypeCompose: some classes & instances for forms of type composition (including contravariant functors and applicative functors)

Current hacker(s): conal

Deep arrows

DeepArrow: a framework for composable "editors" of pure values

Current hacker(s): conal

Source browsing

TiddlyWiki-based code & documentation browser. Syntax-colored and all identifiers fully hyperlinked to sources. Thanks to TiddlyWiki, the browsing experience is fluid & self-organizing.

Bring together disparate functionality from HsColour & Haddock, and add auto-generated hyperlinking. Apply to all the code on Hackage.

Current hacker(s): conal


Fast general, pure-Haskell image synthesis (speed of Pan or Pajama but via ghc). Use Harpy or a new hs-plugins.

Current hacker(s): conal

General dependency tracking & updating

Simple, general dependency tracking & execution formulated as an applicative functor and using DataDriven computation. Applies uniformly to recompiling, re-executing, installing, compiler-recompiling, GUI specification and execution, etc. For compilation, it can give more precise (efficient) recompilation than language-specific tools (e.g., hmake and ghc --make) without being language-specific. Yields a continuous build system for free. No "make" info required (since inferred by construction). (Nontrivial language changes/improvements may be necessary.)

Current hacker(s): conal