Skip to content
pannous edited this page Oct 13, 2026 · 7 revisions

Code is data that is charged: a program is code, a data file is data. When each part of a program runs, and the vocabulary (value, charged, uncharged, block, closure) is specified in charged.

code e is a synonym of block e: it keeps e as a block that ! runs later.

A definition can be written in many notations; after parsing they are identical:

square := it * it
square a number := number times number
to square a number {
    return number times number
}
def square(number x): x * x
(def square (number x) (times x x)) // lispy notation, planned (card lisp-definition)

Expressions can be grouped as normal lists, however curly braces {} are the preferred enclosure.

Home

Philosophy •

data & code blocks

features

inventions

evaluation

reflection

W0 types, proved

keywords

standard library

use modules & cargo crates, script mode

iteration

switch & pattern matching

warnings & strict

tasks

time & units

html pages

the warp command

examples

todo : bad ideas and open questions

⚠️ specification and progress are out of sync

Clone this wiki locally