Backolon

A tiny, homoiconic pattern-matching language with continuation-based control flow.

x := 42

double := [n] => n * 2

listSum := [1, 2, 3] + [4, 5]

if (sum > 10) "big" "small"

Features

  • Homoiconic: Code and data share the same representation.
  • Pattern matching: All syntax is defined through extensible patterns.
  • Keywordless: Operators are functions, not reserved words.
  • Continuations: return and break are ordinary continuation values.
  • JS interop: Call JavaScript objects, constructors, and promises directly.