a tiny language that glows
a new programming language, built around pipes, values and honest errors.
run it here, or install it as a real command on your pc.
ca
// |> passes the value on the left as the first argument [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |> filter(fn(n) { n % 2 == 0 }) |> map(fn(n) { n * n }) |> sum |> print
220open →
data, without the noise.
beginner data lesson →
- |>
- pipes first
- chain data left to right, like a sentence
- =
- everything is a value
- if/else returns a value; functions return their last line
- λ
- closures & lists
- first-class functions, lists, maps, map/filter/reduce
- !
- friendly errors
- clear messages with line numbers; runaway loops are stopped
different on purpose.
no classes, no semicolons, no boilerplate. same idea, a fraction of the noise:
javascript
const total = [1,2,3,4] .filter(n => n % 2 === 0) .map(n => n * n) .reduce((a, b) => a + b, 0); console.log(total);
ember
[1, 2, 3, 4] |> filter(fn(n) { n % 2 == 0 }) |> map(fn(n) { n * n }) |> sum |> print

ready to write your first line?
open the playground →