Personal tools

Hac 2007 II/Projects

From HaskellWiki

< Hac 2007 II(Difference between revisions)
Jump to: navigation, search
(ByteString network)
(Added Category:Community)
 
(23 intermediate revisions by 9 users not shown)
Line 38: 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 51: 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)
Line 60: Line 95:
 
== Data.Binary ==
 
== Data.Binary ==
   
updating to 6.8
+
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 78: Line 113:
   
 
# [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://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 89: Line 131:
 
* Cabalize the current 'Setup.hs' *Cabal hackers welcome for help*
 
* Cabalize the current 'Setup.hs' *Cabal hackers welcome for help*
 
* Update the regex dependencies to work with the newest one.
 
* Update the regex dependencies to work with the newest one.
  +
* Work splatch into Yi
   
 
Current hacker(s): ivant (Ivan Tarasov), vincenz (Christophe Poucet)
 
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 ==
 
== Tangible functional programming ==
Line 104: Line 157:
   
 
Current hacker(s): [[User:Conal|conal]]
 
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 ==
 
== General composition tools ==
Line 138: Line 197:
   
 
Current hacker(s): [[User:Conal|conal]]
 
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]]

Latest revision as of 13:06, 17 December 2012

Contents

[edit] 1 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

[edit] 2 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

[edit] 3 Active Projects

Please feel free to describe your current project here!

[edit] 3.1 Cabal

cabal-install!

[edit] 3.1.1 Primitives

help, version, fetch, configure, build, copy, register, haddock, sdist(package), clean, test

[edit] 3.1.2 Developer interface

Similar

[edit] 3.1.3 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

[edit] 3.2 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)

[edit] 3.3 Data.Binary

updating to 6.8, adding smp parallel testsuite driver.

Current hackers: dons

[edit] 3.4 xmonad

Testing, HPC coverage, code polishing., new layouts, notification support, scratchpad (a la ion)

Current hackers: dons, ganesh, conrad, nomeata, tibbe, beschmi

[edit] 3.5 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)

[edit] 3.6 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)

[edit] 3.7 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)

[edit] 3.8 Shim

Port shim to GHC 6.8

Current hacker(s): beschmi (Benedikt Schmidt)

[edit] 3.9 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

[edit] 3.10 Data.Rope

Port OCaml's ropes implementation to Haskell.

Current hacker(s): Johan Tibell (tibbe), Ivan (ivant)

[edit] 3.11 General composition tools

[edit] 3.11.1 Type composition & related

TypeCompose: some classes & instances for forms of type composition (including contravariant functors and applicative functors)

Current hacker(s): conal

[edit] 3.11.2 Deep arrows

DeepArrow: a framework for composable "editors" of pure values

Current hacker(s): conal

[edit] 3.12 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

[edit] 3.13 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

[edit] 3.14 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

[edit] 3.15 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

[edit] 3.16 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

[edit] 3.17 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