Try it
- Saturnine — A Glonbook Glon in 5 minutes: edit and run every example live
- Traffic simulator Four car-following models, written in Glon
- Glon Patrol A real-time browser game where Glon owns the state and rules
- Attack of the Mutant Kaka Eco-Warriors of Karori, Unite! Glon tuple-space actors and ocular lasers
- Source code The runtime, the language laws and the tests
New to Glon? Start with Saturnine. Every example there runs in a fresh Glon WebAssembly runtime, and you can change it and run it again.
A first taste
Calls are prefix and take a fixed number of arguments, so no parentheses are needed:
double: func [x] [
* x 2
]
double 21
;; => 42
What Glon has today
- Blocks and words. A block is data until something evaluates it.
- Lexical binding and closures. A function keeps the context it was made in; a block that depends on a call may not escape that call.
- Cooperative tasks.
spawn,yieldandrun-tasksinterleave work deterministically. SIN!,raiseandjudge. Creating a sin is harmless. Raising it causes trouble. Judgment permits execution to continue.- Executable laws. The language is developed against written laws and a native test suite, and the browser examples are tested too.
- Real programs. The traffic simulator runs IDM, Newell, OVM/FVDM and NaSch models in Glon, in the browser.
Glon is a place for gloriously hacking both the code and the language. It is an experiment: expect sharp edges, and expect it to change.
More to read and run
- Glon primer (Markdown) — the same lessons as Saturnine, readable on GitHub
- Glon Alpha language laws — the normative rules
- Linda demo — cooperative tasks blocking and waking on a tuple space
- Glon demo launcher — a small shop and more demos, loaded on demand
- Glon YT-DLP — a Glon browser UI that delegates downloads to a localhost yt-dlp and ffmpeg helper
- Early R0/S1 counter demo — where the WebAssembly work began