Symta

A novel Lisp dialect where one terse line replaces fifty verbose ones — and stays readable.

Symta is a list-processing Lisp inspired by REFAL, POP-11, and MIT PLANNER. Its central bet: the everyday operations that bloat real programs — filtering, mapping, parsing, replacing, destructuring, classifying — should each compress to one short, composable construct. Not a library call. Not a regex. Not a 30-line for-loop.

The same {} operator does map, filter, group, reduce, replace, parse, and pattern-match — because in real programs those are the same idea with different bodies.

FizzBuzz, in full:

[:100]{~?%15=\FizzBuzz; ~?%3=\Fizz; ~?%5=\Buzz}

Quicksort:

qsort@r H,@T = @T{:?<H}^r, H, @T{?<H=}^r

Substitute %vars% in a template from a table, in 18 characters:

Form{@"%[V]%"=Data.V}

Symta has macros, eval, quasiquote, gensyms — the things you'd expect from a Lisp — with a pattern matcher fused into the syntax. It also ships a real entity-component-system integrated into the language, not bolted on as a library, for games and simulations where OOP stops scaling.

Downloads

Symta is distributed as milestone releases -- a source tarball (Linux + portable) and a zip with pre-built Windows binaries. No public git endpoint: the project's source repository is private infrastructure used by the author, and only released snapshots are published here.

Each release is a self-contained snapshot. No installer, no package manager integration -- unpack and run. See the README inside each archive for invocation.

Implementation

Learning Symta

Type help at the Symta prompt for the built-in reference. An online reference manual is on the roadmap; this page will link to it when it lands.