Synsema

Syntax

Synsema reads like prose. Indentation defines blocks; there are no curly braces in the language.

Variables

let name be "Alice"
set name to "Bob"

Tasks (functions)

task add(a, b)
    give a + b

task factorial(n)
    when n <= 1
        give 1
    otherwise
        give n * factorial(n - 1)

Flow control

when score >= 90
    print("A")
otherwise when score >= 70
    print("B")
otherwise
    print("C")

each item in items
    print(item)

match status
    is "open"
        process()
    is "done"
        archive()

Pipe

let result be data |> clean |> validate |> transform

Comments

-- this is a comment