Synsema

Types & data

Values: text, number, bool, list, map, nothing. Property access uses `of` (or dot).

let active be true
let items be [1, 2, 3]
let config be {"host": "localhost", "port": 8080}
print(host of config)

Custom types

type Customer
    name: text
    email: text
    balance: number

let c be Customer("Alice", "alice@x.com", 500)
print(name of c)

Intentional operations

Express intent instead of writing loops:

let expensive be where(products, is_expensive)
let names be collect(users, "name")
let doubled be apply(double, numbers)
let total be reduce(prices, add, 0)