Disciple is an explicitly lazy dialect of Haskell which supports destructive update, computational effects, type directed field projections and allied functional goodness.
Installation instructions can be found here.
NOTE: Disciple is licensed and distributed under the terms of the MIT License.
Here are some key features of "Disciple":
· 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 darwin-{x86, x86_64} (tested on 10.5.4) and linux-{x86, x86_64}.
Requirements:
· GHC
What`s New in This Release: [ read full changelog ]
· Support for linux-x86_64 and darwin-x86_64 build targets, thanks to Jared Putnam.
· The parser has been completely rewritten using parser combinators.
· The -make flag now does a full dependency driven build/rebuild. This also descends into the base libraries, which makes them much easier to work on.
· Preliminary support for constructor classes, which is used to implement Monad, Functor and Foldable.
· Support for irrefutable patterns.
· Partial (ticket) support for monadic do notation.
· Unboxed boolean type Bool# and constants true# and false#.
· Field punning makes adding projections to a data type a breeze:.
· The offside rule now applies to import lists.