Difference between revisions of "Discus"

From HaskellWiki
Jump to navigation Jump to search
Line 12: Line 12:
 
* Some [[DDC/FurtherReading|FutherReading]].
 
* Some [[DDC/FurtherReading|FutherReading]].
   
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] and
  +
([http://cs.anu.edu.au/people/Ben.Lippmeier/project/disciple/src/NBody.dump-core-thread.dc core])
   
 
== The Disciplined Disciple Compiler ==
 
== The Disciplined Disciple Compiler ==
* 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.
 
* 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.
 
* Compiles via standard C99, so is highly portable.
 
* Compiles via standard C99, so is highly portable.

Revision as of 03:56, 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 and (core)

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