Alcove Rosetta

Editable examples running in WebAssembly through the Alcove and Adder interpreters.
Alcoveloading
Adderloading
Update Modeon input

Adder syntax in 60 seconds

Adder is a thin, indentation-based surface over Alcove. It transpiles to the same S-expressions, runs on the same runtime, and shares every builtin — only the way code looks changes:

So the keyspace form (with-db 0 …) — run the body with database 0 selected — is written:

with-db 0:
  redis-set "name" "Ada"
  redis-val "name"          # => b"Ada" (bytes), scoped to db 0

and a function with a loop:

def sum-to (n):
  setf total 0
  for i 1 n:
    setf total (+ total i)
  total

Both transpile to ordinary Alcove and behave identically. Each example below runs the same program through the Alcove and Adder readers so you can compare them side by side.