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
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.
Need for speed
In 2006 the Python community had a NeedForSpeed sprint. Some Haskell libraries, like the containers library, could use some benchmarks (using e.g. [http://hackage.haskell.org/package/criterion Criterion) and hopefully some performance improvements.
The event library will hopefully replace GHC's I/O manager with a more scalable implementation, based on better data structures and more efficient system calls (e.g. epoll/kqueue).
The project is nearing completion, but more testing and benchmarking is needed. The code also needs to be merged into GHC.
- Johan Tibell
Data.Binary on continuations
- It's not possible to use the library on large inputs without resorting to lazy I/O. By changing the underlying implementation to use continuations and expose a continuations based API we can process large inputs without resorting to unsafe operations. This needs to be done while still offering good performance.
- The library lacks error handling. The above implementation would naturally support communicating errors to the user. There are however other ways to achieve the same result.
- The library currently includes two separate features in one package, low-level binary parsing of simple types (e.g. Ints and Words) and a data format (the Binary typeclass). Arguably the library should be split in two.
- The Binary data format should be documented and it should be clear which types are guaranteed to have the same encoding for the foreseeable future.
- Johan Tibell
- Write a new library based on associate data types, yielding performance improvements.
- Write more tests and add some Criterion benchmarks.
- Consolidate API naming, exported functions, etc.
Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.
|tibbe||event, Hyena, and general networking/HTTP|