Difference between revisions of "Hac 2007 II/Projects"

From HaskellWiki
Jump to navigation Jump to search
(Added Hac4 projects page)
Line 2: Line 2:
   
 
You can apply for an account and a project using
 
You can apply for an account and a project using
[http://community.haskell.org/admin/ the community server]. Ping Igloo on #haskell-hac07 and he'll create the account. You can also apply for a project.
+
[http://community.haskell.org/admin/ the community server]. 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:
 
Once you have an account and a project, you upload a Darcs repository as follows. First, initialize your repository on the server:
Line 57: Line 57:
 
cabal-install!
 
cabal-install!
   
  +
Hackers: dcoutts, nominolo, lennart, bringert, dons
=== 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:
 
 
# [http://code.haskell.org/network-bytestring/ Darcs repository] -- Hackage ready version of the send and receive functions (Network.Socket.ByteString).
 
# Haddock documentation (could need some polish).
 
# Pushed to [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/network-bytestring-0.1.1 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: [http://web.engr.oregonstate.edu/~erwig/pfp/ Probabilistic functional programming]
 
 
[http://www.randomhacks.net/articles/2007/10/02/probability-monads-at-hac-07-ii 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:
 
 
# [http://www.randomhacks.net/tmp/MaybeT/Control-Monad-Maybe.html MaybeT docs] and [http://code.haskell.org/maybet/ Darcs repository]. This should have all the features of [[New_monads/MaybeT]], except for the potentially ambiguous MonadPlus instance.
 
# [http://code.haskell.org/monadrandom/ MonadRandom] is now documented and packaged.
 
# The [http://www.randomhacks.net/darcs/probability/ 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.
 
#* [http://www.randomhacks.net/tmp/ProbabilityMonads/Control-Monad-Distribution-Base.html Documentation]
 
# Rough versions of all packages in Hackage: [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/MaybeT-0.1.0 MaybeT], [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/MonadRandom-0.1.0 MonadRandom], [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ProbabilityMonads-0.1.0 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 [http://gobby.0x539.de/trac/ 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): [[User:Conal|conal]]
 
 
== Data.Rope ==
 
 
Port OCaml's ropes implementation to Haskell.
 
 
Current hacker(s): Johan Tibell (tibbe), Ivan (ivant)
 
 
== General composition tools ==
 
 
=== Type composition & related ===
 
 
[[TypeCompose]]: some classes & instances for forms of type composition (including contravariant functors and applicative functors)
 
 
Current hacker(s): [[User:Conal|conal]]
 
 
=== Deep arrows ===
 
 
[[DeepArrow]]: a framework for composable "editors" of pure values
 
 
Current hacker(s): [[User:Conal|conal]]
 
 
== Source browsing ==
 
 
[http://tiddlywiki.com 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): [[User:Conal|conal]]
 
 
== Graphics ==
 
 
Fast general, pure-Haskell image synthesis (speed of [http://conal.net/Pan Pan] or [http://conal.net/Pajama Pajama] but via ghc). Use Harpy or a new hs-plugins.
 
 
Current hacker(s): [[User:Conal|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., <code>hmake</code> and <code>ghc --make</code>) 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): [[User:Conal|conal]]
 
 
== Backtraces in the GHCi debugger ==
 
 
This has turned out to be really complicated, so look at [http://hackage.haskell.org/trac/ghc/wiki/LightweightCCSCallStack 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
 

Revision as of 17:12, 23 January 2008

Generic Information

You can apply for an account and a project using the community server. 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 (Haskell Turbo-Edit,a Haskell IDE in Haskell), 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!

Hackers: dcoutts, nominolo, lennart, bringert, dons