DDC
From HaskellWiki
(Difference between revisions)
| Line 5: | Line 5: | ||
== Disciple vs Haskell == | == Disciple vs Haskell == | ||
* Strict [[DDC/EvaluationOrder|EvaluationOrder]] is the default, laziness is introduced explicitly. | * Strict [[DDC/EvaluationOrder|EvaluationOrder]] is the default, laziness is introduced explicitly. | ||
| - | |||
* Type directed [[DDC/FieldProjections|FieldProjections]] complement type classing. | * Type directed [[DDC/FieldProjections|FieldProjections]] complement type classing. | ||
| + | * All data objects support [[DDC/DestructiveUpdate|DestructiveUpdate]]. | ||
* Supports a try-catch [[DDC/ExceptionMechanism|ExceptionMechanism]] | * Supports a try-catch [[DDC/ExceptionMechanism|ExceptionMechanism]] | ||
* The [[DDC/TypeSystem|TypeSystem]] ensures that effects and destructive update play nicely with laziness. | * The [[DDC/TypeSystem|TypeSystem]] ensures that effects and destructive update play nicely with laziness. | ||
Revision as of 00:13, 19 March 2008
Disciple is an explicitly lazy dialect of Haskell which supports destructive update, computational effects, type directed field projections and some other useful things.
Contents |
1 Disciple vs Haskell
- Strict EvaluationOrder is the default, laziness is introduced explicitly.
- Type directed FieldProjections complement type classing.
- All data objects support DestructiveUpdate.
- Supports a try-catch ExceptionMechanism
- The TypeSystem ensures that effects and destructive update play nicely with laziness.
Some example code, and it's output.
2 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.
3 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.
4 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

