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