Personal tools

DDC

From HaskellWiki

(Difference between revisions)
Jump to: navigation, 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 ==
Get the latest stable release (alpha 1.1) with [http://darcs.net darcs]:
+
* See the [http://trac.haskell.org/ddc Development Wiki] for getting and building instructions.
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.

1 Disciple vs Haskell

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

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

3 Development