Personal tools

Hac5/Projects

From HaskellWiki

< Hac5(Difference between revisions)
Jump to: navigation, search
(Write about gentoo work)
m (Add note about scion. users stumbling upon this page should get a correct impression.)
(2 intermediate revisions by 2 users not shown)
Line 139: Line 139:
   
 
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion
 
* Add another Scion frontend. E.g., hook up Yi or Eclipse with scion
  +
  +
Update (Sun Dec 13 22:20:03 CET 2009): Vim is supported and scion is that useful that you shouldn't miss it. There are still some features lacking which Eclipse etc provide. You should definitely give it a try!
   
 
==== Hackers ====
 
==== Hackers ====
Line 205: Line 207:
 
* Erik Hesselink
 
* Erik Hesselink
 
* Rui Barbosa
 
* Rui Barbosa
  +
  +
==== Progress ====
  +
  +
We have a working prototype, and integration in GHCi. Code is available on GitHub [http://github.com/sebastiaanvisser/ghc-goals/], hackage package will follow soon.
   
 
=== Containers: beyond Data.Map ===
 
=== Containers: beyond Data.Map ===
Line 260: Line 266:
 
* Bas van Dijk
 
* Bas van Dijk
 
* Roel van Dijk
 
* Roel van Dijk
  +
  +
=== DocTest ===
  +
Integrating [[DocTest]] with [[Haddock]]
  +
  +
* Simon Hengel
  +
  +
David Waern and I discussed how we could integrate DocTest with Haddock.
   
 
== Experiences ==
 
== Experiences ==

Revision as of 20:56, 13 December 2009

Contents

1 Generic information

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

2 Demonstrations

The following demos where held:

* Jutaro, Leksah: the Haskell IDE
* Don Stewart, vacuum + adaptive data structures
* Tupil.com / chr1s: Real World Web Apps in Haskell
* Thorkil Naur, interactive, time-sliced HPC code coverage
* David Himmelstrup, the LHC Haskell Compiler.

3 Projects

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.

3.1 Haskell Platform 1.0

Finish the construction and roll out of the new Haskell Platform

3.1.1 Hackers

  • dcoutts
  • dons
  • Chris Eidhof (chr1s)
  • kolmodin

Platform specified, generic unix tarball installer.

3.1.2 Gentoo Linux

Package the haskell platform and put into portage.

Progress: All libraries and applications are in portage. GHC-6.10.2, haddock-2.4.2 and parallel-1.1.0.1 are still masked for testing, other packages are usable with older ghc versions.

  • kolmodin

3.2 Darcs Sprint #2

3.2.1 Description

The second Darcs Sprint. Help improve our beloved DVCS! Add your nick to the list.

3.2.2 Hackers

  • 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)

3.3 Grapefruit

3.3.1 Description

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.

3.3.2 Possible subprojects

  • graphics support
    • Jeff Heard expressed interest in adapting Hieroglyph to work with Grapefruit.
    • The classic version of Grapefruit contains quite a bit of OpenGL-based 3D animation stuff which could be ported to the current Grapefruit version.
    • We should also take a look at RSAGL.
  • 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)

3.3.3 Licensing

Grapefruit is BSD3-licensed, so all contributions to Grapefruit should be BSD3-licensed, too. If you don’t like this, please discuss this on the Grapefruit mailing list or contact Wolfgang Jeltsch.

3.3.4 Hackers

  • Wolfgang Jeltsch (jeltsch)
  • Fraser Wilson
  • Roman Cheplyaka (Feuerbach)
  • Peter Verswyvelen
  • Thomas Davie

There is a doodle for planning who is doing what.

3.4 Leksah

3.4.1 Description

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
  • ...

3.4.2 Hackers

  • Jürgen Nicklisch (jutaro)


3.5 Scion

3.5.1 Description

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 

Update (Sun Dec 13 22:20:03 CET 2009): Vim is supported and scion is that useful that you shouldn't miss it. There are still some features lacking which Eclipse etc provide. You should definitely give it a try!

3.5.2 Hackers

* Thomas Schilling (nominolo)
* David Waern (waern)
 

3.6 Type class aliases

3.6.1 Description

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!

GHC will be the target compiler. Perhaps GHC plugins (GHC wiki, The Monad Reader 12) are of help here?

Please have a look at the context alias wiki page and extend it if you can.

3.6.2 Ideas

3.6.2.1 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 = ...
3.6.2.2 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)

Or better:

context Eq a => Num a = (Additive a, Multiplicative a)

3.6.3 Hackers

3.7 Goals in GHC(i)

3.7.1 Description

We will attempt to extend GHC(i) to give the type (and possibly context) of all 'undefined's in your code, similar to goals in Agda.

3.7.2 Hackers

  • Sebastiaan Visser
  • Tom Lokhorst
  • Erik Hesselink
  • Rui Barbosa

3.7.3 Progress

We have a working prototype, and integration in GHCi. Code is available on GitHub [1], hackage package will follow soon.

3.8 Containers: beyond Data.Map

Scalable, adaptive persistent container types (Data.Map, Data.IntMap),

  • Don Stewart
  • Christophe Poucet
  • Nicolas Pouillard

Summary of approach here: http://cpoucet.wordpress.com/2009/04/18/flattening-datamap/

3.9 xmonad

Some new extensions and developers.

  • Don Stewart
  • Nicolas Pouillard.

3.10 Building a FastCGI interface for Happstack

We've built a way to run Happstack applications on FastCGI, version 0.1.1 is now on hackage: happstack-fastcgi

Accompanying blogpost: http://blog.tupil.com/running-happstack-applications-with-fastcgi/

  • Eelco Lempsink
  • Chris Eidhof

3.11 Yi

Speed improvements and perhaps Scion integration.

  • David Waern
   Scion integration: Figured out a design for where store and call
   callbacks for initializing and closing Scion. Next step is to figure out
   how to avoid circular module dependencies.
  • David Himmelstrup (Lemmih)

3.12 Complexity

I released version 0.1.1 of complexity, a small package to determine the algorithmic complexity of a function.

  • Roel van Dijk

3.13 Numerals

We released version 0.1 of numerals, a package which does various things with numerals for a number of natural languages and numerical systems.

For instance:

> (cardinal enShort Masculine 42) :: Maybe String
Just "forty-two"
  • Bas van Dijk
  • Roel van Dijk

3.14 DocTest

Integrating DocTest with Haddock

  • Simon Hengel

David Waern and I discussed how we could integrate DocTest with Haddock.

4 Experiences

Please list projects with which you are familiar. This way, people know whom to contact for more information or guidance on a particular project.

Name Projects
leather EMGM, multirec
jeltsch Grapefruit, HQK
jutaro leksah
sebas salvia, orchid, filestore
waern GHC (front-end), Haddock
Feuerbach xmonad, Hpysics
npouillard (ertai) yi, xmonad, darcs
chr1s formlets, sphinx, emgm, HAppS, EHC, web-related stuff
Lemmih HAppS, LHC