Discus

From HaskellWiki
Revision as of 11:27, 16 March 2008 by Benl23 (talk | contribs) (Slurped across from google code page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Disciple is an explicitly lazy dialect of the functional programming language Haskell.

Disciple vs Haskell

 * Strict EvaluationOrder is the default, laziness is introduced explicitly.
 * All data objects support DestructiveUpdate, without the need for Ref types.
 * Type directed FieldProjections complement type classing.
 * Supports a try-catch ExceptionMechanism.
 * The TypeSystem ensures that SideEffects and DestructiveUpdate play nicely with laziness.

Some example code, and it's output.

The Disciplined Disciple Compiler (DDC)

 * 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.
 * 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-HEAD }}}

Check the ReleaseNotes and INSTALL instructions.

Contact the Maintainers

 * If you've tripped over a bug then please add it to the Issues List.
 * You can also post in http://groups.google.com/group/disciple-cafe
 * Or send mail to Ben.Lippmeier@anu.edu.au