Hac 2007 II/Projects
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, hackport (hackage for Gentoo), hinotify, dbus-haskell |
Heffalump (Ganesh Sittampalam) | darcs patch theory |
beschmi (Benedikt Schmidt) | shim (emacs+ghc-api), darcs, xmonad |
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!
Cabal
cabal-install!
Primitives
help, version, fetch, configure, build, copy, register, haddock, sdist(package), clean, test
Developer interface
Similar
Naive interface
cabal install xmonad cabal install xmonad-0.3
Basic principles: defaults should be such that it just works. Nothing should fail. It should be usefully descriptive, portable. Safe.
Hackers: dcoutts, nominolo, lennart, bjorn, dons
ByteString network
Change Network.* to use strict ByteStrings instead of Strings. It would also be nice to tidy up the #ifdef mess.
Things to work on:
- Add HUnit tests.
- Write an echo server example.
Done:
- Darcs repository -- Hackage ready version of the send and receive functions (Network.Socket.ByteString).
- Haddock documentation (could need some polish).
- Pushed to Hackage.
Current hacker(s): tibbe (Johan Tibell)
Data.Binary
updating to 6.8, adding smp parallel testsuite driver.
Current hackers: dons
xmonad
Testing, HPC coverage, code polishing., new layouts, notification support, scratchpad (a la ion)
Current hackers: dons, ganesh, conrad, nomeata, tibbe, beschmi
Probability monads
A really cool existing implementation: Probabilistic functional programming
Darcs repository and draft paper.
Things to work on:
- Get MaybeT into Hackage.
- Is WriterT really the right monad transformer? We want the join and bind operations, but not the rest of the MonadWriter type class.
- Should probabilities be represented as floats, fractions or a type class?
- Can this run fast enough to be useful?
Done:
- MaybeT docs and Darcs repository. This should have all the features of New_monads/MaybeT, except for the potentially ambiguous MonadPlus instance.
- MonadRandom is now documented and packaged.
- The Probability library:
- Now builds using external MaybeT and MonadRandom.
- Added support for representing probabilities as doubles and floats.
- Merged Dist instances and helper code for Rand, BRand, DDist, and BDDist from example code and paper.
- Documentation
- Rough versions of all packages in Hackage: MaybeT, MonadRandom, ProbabilityMonads
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.
- Work splatch into Yi
Current hacker(s): ivant (Ivan Tarasov), vincenz (Christophe Poucet)
Splatch
Patching of splices, or otherwise said, a patch-model for working concurrently on one piece of text.
Current hacker(s): ivant (Ivan Tarasov), vincenz (Christophe Poucet)
Shim
Port shim to GHC 6.8
Current hacker(s): beschmi (Benedikt Schmidt)
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
Data.Rope
Port OCaml's ropes implementation to Haskell.
Current hacker(s): Johan Tibell (tibbe), Ivan (ivant)
General composition tools
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
Graphics
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
Backtraces in the GHCi debugger
This has turned out to be really complicated, so look at here for the details. Sadly, Alexey stays only for the first day.
Current hackers: pepe, Alexey
Coverage recording in the GHC testsuite
We would like HPC coverage recording to be performed as a possible part of running the tests in the GHC testsuite. Code targeted by this could be the compiler code itself, the runtime system, the library code of a tested library, and the test code.
Current hackers: thorkilnaur
Shim
We still believe that Shim has a great potential to become an awesome IDE, and so we've decided to make it compatible with ghc 6.8
Current hackers: beschmi, pepe