WokML v0.1

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.