Difference between revisions of "Discus"

From HaskellWiki
Jump to navigation Jump to search
Line 22: Line 22:
 
* Is an active research project and is not yet "industrial strength", but will compile some programs if you're nice to it.
 
* Is an active research project and is not yet "industrial strength", but will compile some programs if you're nice to it.
   
== Get the Source ==
+
== Development ==
 
* See the [http://trac.haskell.org/ddc Development Wiki] for getting and building instructions.
Get the latest stable release (alpha 1.1) with [http://darcs.net darcs]:
 
darcs get http://code.haskell.org/ddc/ddc-alpha
 
 
For thrill-seekers, the development branch (which usually builds ok) is:
 
darcs get http://code.haskell.org/ddc/ddc-head
 
 
Check the [[DDC/ReleaseNotes-Alpha1.1|ReleaseNotes]] and [http://code.haskell.org/ddc/ddc-head/INSTALL INSTALL] and [http://code.haskell.org/ddc/ddc-head/doc/HACKING HACKING] instructions.
 
 
== Hackery ==
 
 
* If you've tripped over a bug then please add a [http://trac.haskell.org/ddc/newticket New Ticket].
 
* If you've tripped over a bug then please add a [http://trac.haskell.org/ddc/newticket New Ticket].
* Or check out the [http://trac.haskell.org/ddc Development Wiki]
 
 
* You can also post in http://groups.google.com/group/disciple-cafe.
 
* You can also post in http://groups.google.com/group/disciple-cafe.
* Or send mail to Ben.Lippmeier (wibble) anu.edu.au
 
 
* Or ask in #disciplined on irc.freenode.net
 
* Or ask in #disciplined on irc.freenode.net
 
* Or send mail to Ben.Lippmeier (wibble) anu.edu.au

Revision as of 05:45, 23 July 2009

DDC

Disciple is an explicitly lazy dialect of Haskell which supports destructive update, computational effects, type directed field projections and allied functional goodness.

Disciple vs Haskell

Some example code showing most of the extensions, and its output, core and C-code

The Disciplined Disciple Compiler

  • Uses a typed core language which includes effect, closure, region and mutability information.
  • This extended type information is used to allow code-transformation style optimizations in the presence of side effects and mutable objects.
  • Compiles via standard C99, so is highly portable.
  • Tested on linux-{x86, x86_64} and darwin-{x86, x86_64} (tested on 10.5.4)
  • Is an active research project and is not yet "industrial strength", but will compile some programs if you're nice to it.

Development