Hac φ 2009/Projects

From HaskellWiki

Generic information[edit]

You can apply for an account and a project using the community server.

Once you have an account and/or 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

Projects[edit]

If you have a project that you want to work on at the Hackathon, please describe it here.

Since Hackathons are great for teamwork, consider joining one of the projects mentioned below. If you're interested in one of these projects, add your name to the list of hackers under that project.

xmonad[edit]

General xmonad love: features, documentation, catch up with patch backlog, etc.

Maybe some floating layer improvements!

  • Brent Yorgey

diagrams[edit]

The diagrams library provides an embedded domain-specific language (EDSL) for creating simple pictures and diagrams in Haskell.

Incorporate patches and bug fixes, improved documentation, new features (better curve types, grid layout, control points + connectors, cache size computations for better performance)

  • Brent Yorgey

HSFFIG[edit]

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.

Update: HSFFIG has been released on Hackage.

  • Dmitry Golubovsky

mathlink[edit]

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

gitit[edit]

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

formlets[edit]

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

happstack-auth[edit]

Happstack-auth is a drop-in authentication framework for Happstack.

hpc[edit]

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.

Data.Binary enhancements[edit]

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.


Experience[edit]

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

Name Projects
byorgey xmonad, diagrams
golubovsky HSFFIG
twadleigh mathlink
anton van straaten gitit, happstack
sclv HStringTemplate, happstack
mightybyte gitit, happstack, formlets, happstack-auth
ravi I've built GHC and tweaked both the compiler and RTS