Discus¶
The Discus language is an experimental dialect of Haskell which investigates static typing and program transformation in the presence of computational effects.
The main language features are:
- Haskell-like source language, so Haskell-like programs should work with minor modifications.
- Modal region and effect system using ‘box’ and ‘run’ to suspend and force computations.
- Higher rank polymorphism with bidirectional type inference.
- Simple two space copying garbage collection.
- Default call-by-value evaluation.
- Typed external core language.
Version 0.5.1 (2017/10/23) includes new support for copying garbage collection and implicit function parameters.
Examples¶
For example programs, see the demo directory on github, which includes:
- Conway’s Life demo which uses mutable arrays.
- Almost Primes demo which uses infinite streams.
- Lambda demo which defines a simple lambda calculus interpreter.
- Ray Tracer demo which makes nice pictures, described in this blog post.
Documentation¶
More Information¶
Home Page: | http://discus-lang.org |
---|---|
Dev Blog: | http://blog.discus-lang.org |
Bug Tracker: | http://trac.discus-lang.org |
GitHub Page: | https://github.com/discus-lang |
Dev Buildbot: | https://travis-ci.org/discus-lang |
IRC Channel: | Channel #discus-lang on http://freenode.net |
Mailing List: | http://groups.google.com/group/discus-lang |
Commit Log: | http://groups.google.com/group/discus-log |