Difference between revisions of "Discus"

From HaskellWiki
Jump to navigation Jump to 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.

Disciple vs Haskell

Some example code, and it's output.

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.

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.

Contact the Maintainers