A clean, readable language blending natural English with Python-style indentation. Built for beginners, scripters, and systems thinkers.
Indentation-based blocks. No braces needed. Clean and readable at a glance.
Keywords read like English: say, define, count from to, repeat times.
Functions, structs, lists, error handling, string ops, math — all built in.
Clear error messages with line numbers and code snippets. Stack overflow protection.
| Syntax | Example | Notes |
|---|---|---|
let name = value | let x = 42 | Mutable variable |
const name = value | const PI = 3.14159 | Immutable constant |
set name = value | set x = x + 1 | Reassign existing variable |
set obj.field = val | set person.age = 30 | Struct field assignment |
| Type | Examples | Notes |
|---|---|---|
| Number | 42, 3.14, -7 | Integer or float |
| String | "hello", 'world' | Single or double quotes |
| Boolean | true, false | Logical values |
| Nothing | nothing | Null/None equivalent |
| List | [1, 2, 3] | Ordered, mutable collection |
| Struct | Point() | Custom data type |
| Category | Operators |
|---|---|
| Arithmetic | + - * / % ** // |
| Comparison | == != > < >= <= |
| Logical | and or not |
| String | + (concat), * (repeat) |
| Function | Description | Example |
|---|---|---|
say(x) | Print to output | say "hi" |
length(x) | Length of list/string | length([1,2,3]) → 3 |
push(list, val) | Append to list | push(nums, 4) |
pop(list) | Remove last item | pop(nums) |
join(list, sep) | Join list to string | join(items, ", ") |
split(str, sep) | Split string to list | split("a,b", ",") |
upper(str) | Uppercase string | upper("hi") → "HI" |
lower(str) | Lowercase string | lower("HI") → "hi" |
trim(str) | Strip whitespace | trim(" hi ") |
contains(str, sub) | Check substring | contains("hello", "ell") |
replace(str,old,new) | Replace in string | replace("hi","h","b") |
slice(list, a, b) | Sub-list or substring | slice(nums, 0, 3) |
sort(list) | Sort a list | sort([3,1,2]) |
reverse(list) | Reverse a list | reverse([1,2,3]) |
range(n) / range(a,b) | Generate number list | range(5) → [0..4] |
abs(n) | Absolute value | abs(-5) → 5 |
sqrt(n) | Square root | sqrt(16) → 4 |
floor/ceil/round | Rounding | floor(3.7) → 3 |
max/min | Max/min of args | max(1,5,3) → 5 |
random() | Random 0–1 float | random() |
randint(a,b) | Random integer | randint(1,6) |
str(x) | Convert to string | str(42) → "42" |
num(x) | Convert to number | num("42") → 42 |
bool(x) | Convert to boolean | bool(0) → false |
type(x) | Get type name | type(42) → "number" |
isNothing(x) | Check for nothing | isNothing(val) |