Discus
Jump to navigation
Jump to search
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
- Strict EvaluationOrder is the default, laziness is introduced explicitly.
- All data objects support DestructiveUpdate.
- Type directed FieldProjections complement type classing.
- Supports a try-catch ExceptionMechanism
- The TypeSystem ensures that effects and destructive update play nicely with laziness.
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-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