Difference between revisions of "Discus"

From HaskellWiki
Jump to navigation Jump to search
Line 17: Line 17:
 
* Uses a typed core language which includes effect, closure, region and mutability information. ([http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/src/NBody.dump-core-reconstruct.dc example])
 
* Uses a typed core language which includes effect, closure, region and mutability information. ([http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/src/NBody.dump-core-reconstruct.dc example])
 
* This extended type information is used to allow code-transformation style optimizations in the presence of side effects and mutable objects.
 
* 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 via standard C99, so is highly portable.
 
* Compiles cleanly on linux-x86 and darwin-x86 (tested on Mac OS X 10.5.2)
 
* Compiles cleanly on linux-x86 and darwin-x86 (tested on Mac OS X 10.5.2)
 
* Is in a usable alpha state.
 
* Is in a usable alpha state.

Revision as of 01:00, 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, 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.
  • 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 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