Difference between revisions of "Hac 2007 II/Projects"

From HaskellWiki
Jump to navigation Jump to search
(Added Category:Community)
 
(32 intermediate revisions by 10 users not shown)
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.
+
[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.
   
  +
Once you have an account and a project, you upload a Darcs repository as follows. First, initialize your repository on the server:
Instructions for setting up repositories go here...
 
  +
  +
$ 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 =
 
= Who knows about what =
Line 30: Line 38:
 
|-
 
|-
 
| kolmodin (Lennart Kolmodin)
 
| kolmodin (Lennart Kolmodin)
| Data.Binary, Gentoo Linux, Haste (Haskell Turbo-Edit,a Haskell IDE in Haskell), hackport (hackage for Gentoo), hinotify, dbus-haskell
+
| Data.Binary, Gentoo Linux, [[Haste]], hackport (hackage for Gentoo), hinotify, dbus-haskell
 
|-
 
|-
 
| Heffalump (Ganesh Sittampalam)
 
| Heffalump (Ganesh Sittampalam)
 
| darcs patch theory
 
| darcs patch theory
  +
|-
  +
| [[User:Beschmi|beschmi]] (Benedikt Schmidt)
  +
| shim (emacs+ghc-api), darcs, xmonad
 
|-
 
|-
 
| [[User:Conal|conal]] (Conal Elliott)
 
| [[User:Conal|conal]] (Conal Elliott)
Line 43: Line 54:
   
 
== Cabal ==
 
== 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 ==
 
== ByteString network ==
   
 
Change Network.* to use strict ByteStrings instead of Strings. It would also be nice to tidy up the #ifdef mess.
 
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)
 
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 ==
 
== Probability monads ==
Line 62: Line 117:
 
# Should probabilities be represented as floats, fractions or a type class?
 
# Should probabilities be represented as floats, fractions or a type class?
 
# Can this run fast enough to be useful?
 
# 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)
 
Current hacker(s): ekidd (Eric Kidd)
Line 70: Line 136:
 
* 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).
 
* 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
 
* 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
  +
   
  +
[[Category:Community]]
Current hacker(s): ivant (Ivan Tarasov)
 

Latest revision as of 13:06, 17 December 2012

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:

  1. Add HUnit tests.
  2. Write an echo server example.

Done:

  1. Darcs repository -- Hackage ready version of the send and receive functions (Network.Socket.ByteString).
  2. Haddock documentation (could need some polish).
  3. 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:

  1. Get MaybeT into Hackage.
  2. Is WriterT really the right monad transformer? We want the join and bind operations, but not the rest of the MonadWriter type class.
  3. Should probabilities be represented as floats, fractions or a type class?
  4. Can this run fast enough to be useful?

Done:

  1. MaybeT docs and Darcs repository. This should have all the features of New_monads/MaybeT, except for the potentially ambiguous MonadPlus instance.
  2. MonadRandom is now documented and packaged.
  3. 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
  4. 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

Type composition & related

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