Discus
Jump to navigation
Jump to search
Disciple is an explicitly lazy dialect of Haskell which uses supports destructive update, side 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 side effects and destructive update 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