Difference between revisions of "Discus"
Jump to navigation
Jump to search
(Change bug tracker page) |
|||
Line 35: | Line 35: | ||
== Contact the Maintainers == |
== Contact the Maintainers == |
||
− | * If you've tripped over a bug then please add it to the [http:// |
+ | * If you've tripped over a bug then please add it to the [http://trac.haskell.org/ddc Issues List]. |
* You can also post in http://groups.google.com/group/disciple-cafe |
* You can also post in http://groups.google.com/group/disciple-cafe |
||
* Or send mail to Ben.Lippmeier (wibble) anu.edu.au |
* Or send mail to Ben.Lippmeier (wibble) anu.edu.au |
Revision as of 04:09, 14 May 2009
Disciple is an explicitly lazy dialect of Haskell which supports destructive update, computational effects, type directed field projections and allied functional goodness.
Disciple vs Haskell
- Strict EvaluationOrder is the default, laziness is introduced explicitly.
- Type directed FieldProjections complement type classing.
- All data objects support DestructiveUpdate.
- The EffectSystem tracks what computational effects are being used in a program, without the need for state monads.
- The ClassSystem ensures that effects and destructive update play nicely with laziness.
- ClosureTyping is used to track data sharing, and to preserve soundness in the presence of PolymorphicUpdate.
- Some FurtherReading.
Some example code showing most of the extensions, and its output, core and C-code
The Disciplined Disciple Compiler
- Uses a typed core language which includes effect, closure, region and mutability information.
- This extended type information is used to allow code-transformation style optimizations in the presence of side effects and mutable objects.
- Compiles via standard C99, so is highly portable.
- Tested on linux-{x86, x86_64} and darwin-{x86, x86_64} (tested on 10.5.4)
- Is in a usable alpha state.
Get the Source
Get the latest stable release (alpha 1.1) with darcs:
darcs get http://code.haskell.org/ddc/ddc-alpha
For thrill-seekers, the development branch (which usually builds ok) is:
darcs get http://code.haskell.org/ddc/ddc-head
Alternatively, download the source tar-ball from Google code
http://code.google.com/p/disciple/downloads
Check the ReleaseNotes and INSTALL and HACKING 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 (wibble) anu.edu.au
- Or ask in #disciplined on irc.freenode.net