WokML
Deterministic purely functional language with effects, modes, and a modern type system.
WokML is a powerful, lightweight programming language. It works equally well as a glue language or as a general-purpose, standalone language, and was designed for deterministic, predictable performance. Light enough to embed, complete enough to stand alone.
WokML is released under an open source license.
Features #
- Strict & purely functional
- Predictable evaluation; no hidden side effects.
- Algebraic effects with handlers
- First-class, composable effects under explicit control.
- Modes
- Refine how values may be used, adding guarantees on top of types.
- Modern type system
- Expressive, inferred types that stay out of the way.
- Deterministic performance
- Designed for repeatable, predictable runtime behavior.
- Glue or standalone
- Embed it in a host, or build on it directly.
Examples #
Declarations are written one per line. Fixity declarations set operator associativity directly:
fixity + left fixity - same as + fixity * left fixity / same as * -- there will be more.
More syntax and semantics will be documented as they settle.
Installation #
We host a version manager named wokup to manage the compiler suite. Easy-to-install installation — because we want users like us.
$ curl -fsSL wokml.org/up | sh # coming soon
Status #
WokML is experimental (v0.1) — the syntax and semantics are still settling, so expect changes. Current work is on the typechecker and typeclass resolver, with a CEK-style small-step interpreter next. Once that lands, the plan is to bootstrap the language in itself.