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 |
