2.3 HSFFIG

Work on the HSFFIG project is almost done, so HSFFIG and its successor ffipkg may be useful for projects involving bindings to C (but not C++) libraries. Please mention here if you are interested to give HSFFIG a try.

2.4 mathlink

mathlink is a package for making Haskell functions callable from Mathematica. Given that the project is essentially limited to users of Mathematica, I don't expect a whole lot of actual coding help (though it is certainly welcome!), but I'm certainly looking forward to getting suggestions on how I might improve it.

Tracy Wadleigh

2.5 gitit

Gitit is a wiki program written in Haskell. It uses Happstack for the web server and pandoc for markup processing. Pages and uploaded files are stored in a git or darcs repository and may be modified either by using the VCS’s command-line tools or through the wiki’s web interface.

I (anton) plan to work on developing Gitit extensions to provide more general content management and application framework capabilities. Some previous work I've done on this is described here (this work has since been integrated into Gitit).

Anton van Straaten

2.6 formlets

Formlets is a library providing simple form creation and handling for Haskell data types.

2.7 happstack-auth

2.8 hpc

I (ravi) am interested in getting hpc (Haskell Program Coverage) to work when you're trying to generate code coverage for multiple binaries (with different Main modules in different source files) that otherwise are built from a shared pool of source code. IIRC, the generated coverage information itself has everything I want, the problem is that the hpc command-line tools don't know how to cope with multiple source files being identified with the same module (Main). Before I get to Hac Phi, I'm planning to ask Andy Gill (one of the people behind hpc) for guidance on how to approach this.

2.9 Data.Binary enhancements

There are two reasons I (ravi) can't use the Data.Binary library at my day job (and therefore waste time maintaining a less useful homegrown replacement):

Data.Binary doesn't have clean support for persisting types where you want to encode them in a shared form. For a shared binary encoding, I want to spit out the full representation the first time you see a particular value of that type, but spit out a reference to the previously persisted representation every subsequent time you come across a value Eq to a value that has been previously encoded in the same stream.

Data.Binary doesn't have support for gathering statistics about what is taking up space in a particular binary stream. Sometimes the natural binary encodings we write take up much more space than we expect, so we have some simple statistics markers we can insert that let us get useful size information for debugging those sorts of problems. Our implementation of statistics-gathering isn't ideal because there's some conceptually unnecessary strictness we haven't been able to get rid of (which makes it harder than seems necessary to get statistics in some of our blow-up cases), so I'd also like help getting that right.

3 Experience

Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.