Difference between revisions of "Discus"

From HaskellWiki
Jump to navigation Jump to search
m (the repo is on code.haskell.org, not haskell.org)
m
Line 10: Line 10:
 
* The [[DDC/ClassSystem|ClassSystem]] ensures that effects and destructive update play nicely with laziness.
 
* The [[DDC/ClassSystem|ClassSystem]] ensures that effects and destructive update play nicely with laziness.
 
* [[DDC/ClosureTyping|ClosureTyping]] is used to track data sharing, and to preserve soundness in the presence of [[DDC/PolymorphicUpdate|PolymorphicUpdate]].
 
* [[DDC/ClosureTyping|ClosureTyping]] is used to track data sharing, and to preserve soundness in the presence of [[DDC/PolymorphicUpdate|PolymorphicUpdate]].
* Some [[DDC/FurtherReading|FutherReading]].
+
* Some [[DDC/FurtherReading|FurtherReading]].
   
 
Some example [http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/src/NBody-Main.ds code] showing most of the extensions, 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] showing most of the extensions, and it's [http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/nbody.png output],

Revision as of 16:29, 20 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 showing most of the extensions, and it's 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.
  • 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 code.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 and HACKING instructions.

Contact the Maintainers