- 1 Generic information
- 2 Projects
- 2.1 Haskell Platform 1.0
- 2.2 Darcs Sprint #2
- 2.3 Grapefruit
- 2.4 Leksah
- 2.5 Scion
- 2.6 Type class aliases
- 2.7 Flux
- 2.8 Containers: beyond Data.Map
- 2.9 Numeric Array Types
- 2.10 xmonad
- 2.11 Reviving mod_haskell
- 3 Experiences
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.
Haskell Platform 1.0
Finish the construction and roll out of the new Haskell Platform
- Chris Eidhof (chr1s)
- needed: windows/ macosx packagers.
* BAMSE + Cabal for Windows
Darcs Sprint #2
- Reinier Lamers (tux_rocker)
- Eric Kow (kowey)
- Ben Moseley (benmos)
- Ganesh Sittampalam (Heffalump)
- Ian Lynagh (igloo)
- Arjan Boeijink (arjanb)
- Benedikt Schmidt (beschmi)
- Petr Ročkai (mornfall)
- Thorkil Naur (thorkilnaur)
Grapefruit is a library for Functional Reactive Programming (FRP) with a focus on user interfaces. FRP makes it possible to implement reactive and interactive systems in a declarative style. With Grapefruit, user interfaces are described as networks of communicating widgets and windows. Communication is done via different kinds of signals which describe temporal behavior.
- graphics support
- improvements of the UI part and the GTK+-based UI backend
- Qt-based UI backend
- HQK should be used for this.
- addition or integration of some kind of physics engine
- There is, for example, Hpysics from Roman Cheplyaka (Feuerbach)
- Wolfgang Jeltsch (jeltsch)
- Fraser Wilson
- Roman Cheplyaka (Feuerbach)
- Peter Verswyvelen
- Thomas Davie
There is a doodle for planning who is doing what.
leksah is an attempt to develop a Haskell IDE in Haskell. Help adding cool features to this Wannabee IDE, like:
- Generate export list
- Code Formatter
- Infer types
- Jürgen Nicklisch (jutaro)
Scion is a library that aims to provide IDE-like functionality on top of the GHC API. It aims to be front-end agnostic, thus serve as a common middle-layer for various Haskell programming frontends like Emacs, Vim, Yi, Eclipse, etc.
It currently only provides rudimentary functionality, such as loading a project and single-threaded background-typechecking. Currently, Scion's only frontend is Emacs, but a Vim frontend is in the underway. Possible Hackathon projects could be:
* Extend Scion's capabilities. For example: cross-refs, jump to source, more type information, show haddock comments
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion
* Thomas Schilling (nominolo) * David Waern (waern)
Type class aliases
Type class aliases is a much wanted extension to Haskell proposed long ago by John Meacham (John's website, mailing list) that has never been implemented yet. It is time this extension sees the light of day!
Please have a look at the context alias wiki page and extend it if you can.
from Martijn van Steenbergen
As a starting point we'll focus on supporting the following syntax:
class alias FooBar a = (Foo a, Bar a) x :: FooBar a => a x = ...
from Wolfgang Jeltsch
A “class alias” actually doesn’t stand for a class but for a context (or a part of a context). So it might be better to choose a slightly different syntax:
context Foobar a = (Foo a, Bar a)
John Meacham proposes the following syntax for class aliases (context aliases) with superclass constraints:
class alias Num a = Eq a => (Additive a, Multiplicative a)
This is not consistent with the superclass syntax of class declarations. I think, we should use this syntax:
class alias Eq a => Num a = (Additive a, Multiplicative a)
context Eq a => Num a = (Additive a, Multiplicative a)
Flux is a simple UV modelling engine and some OpenGL abstraction on top of HOpenGL. It can be seen as a start of a 3D engine but needs some serious hacking to be really useful. Currently this project can be seen as a pile of rather useful code, I hope to change into something more structured and feature rich.
See a demo: http://wiki.github.com/sebastiaanvisser/flux
- Sebastiaan Visser
Containers: beyond Data.Map
Brainstorm approaches for scalable, high performance, data-dense container structures. Adaptive tries, open addressed hashtables?
- Don Stewart
Numeric Array Types
Finish API for uvector, based on Data.Text experiences.
- Don Stewart
Happy to help with xmonad advice
- Don Stewart
Trying to build an Apache module with Haskell. Ultimate goal: make it trivial to deploy an Haskell web application on Apache.
- Eelco Lempsink
- Chris Eidhof
Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.
|sebas||salvia, orchid, filestore|
|waern||GHC (front-end), Haddock|
|npouillard (ertai)||yi, xmonad, darcs|
|chr1s||formlets, sphinx, emgm, HAppS, EHC, web-related stuff|