Personal tools

DDC

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
 
* Type directed [[DDC/FieldProjections|FieldProjections]] complement type classing.
 
* Type directed [[DDC/FieldProjections|FieldProjections]] complement type classing.
 
* All data objects support [[DDC/DestructiveUpdate|DestructiveUpdate]].
 
* All data objects support [[DDC/DestructiveUpdate|DestructiveUpdate]].
* Supports a try-catch [[DDC/ExceptionMechanism|ExceptionMechanism]]
 
 
* The [[DDC/TypeSystem|TypeSystem]] ensures that effects and destructive update play nicely with laziness.
 
* The [[DDC/TypeSystem|TypeSystem]] ensures that effects and destructive update play nicely with laziness.
  +
* Supports a try-catch [[DDC/ExceptionMechanism|ExceptionMechanism]]
   
 
Some example [http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/src/NBody-Main.ds code], and it's [http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/nbody.png output].
 
Some example [http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/src/NBody-Main.ds code], and it's [http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/nbody.png output].

Revision as of 00:39, 19 March 2008

DDC

Disciple is an explicitly lazy dialect of Haskell which supports destructive update, computational effects, type directed field projections and some other useful things.

Contents

1 Disciple vs Haskell

Some example code, and it's output.

2 The Disciplined Disciple Compiler

  • Uses a typed core language which includes effect, closure, region and mutability information. (example)
  • This extended type information is used to allow code-transformation style optimizations in the presence of side effects and mutable objects.
  • Produces standard C99, so is highly portable.
  • Compiles cleanly on linux-x86 and darwin-x86 (tested on Mac OS X 10.5.2)
  • Is in a usable alpha state.

3 Get the Source

Use darcs to get the repo from haskell.org

   darcs get http://code.haskell.org/~benl/disciple-alpha1

Alternatively, download the source tar-ball from Google code

   http://code.google.com/p/disciple/downloads

Check the ReleaseNotes and INSTALL instructions.

4 Contact the Maintainers