!!
puzzles-2
%- crip %+ turn "abc" |= c=@t `@t`(add c 1)

et tu?

glossary

%- calls a gate on one argument (or one cell of arguments).

%-(dec 8) is 7.

irregular forms:

(gate arg) is %-(gate arg)

crip packs a tape into a cord - the reverse of trip.

it turns a tape back into a cord like 'ok'.

%+ calls a gate that takes two arguments.

%+(add 2 3) is 5.

irregular forms:

(gate a b) is %+(gate a b)

turn runs a gate over every element of a list, collecting the results - a map.

(turn `(list @)`~[1 2 3] |=(n=@ (mul 2 n))) is ~[2 4 6].

|= makes a gate: a function with one named sample, then a body.

the body runs with the sample bound.

call the gate to run it.

(|=(a=@ (add a 1)) 4) is 5.

$= wraps a mold with a face, naming the value it produces.

$=(x @) is the mold x=@.

^+ casts a value to the type of another expression, rather than a written-out type.

^+(7 42) is 42, typed like 7.

%: calls a gate with several arguments, gathering them into one sample.

%:(add 2 3) is 5.

irregular forms:

(gate a b c) is %:(gate a b c)

add sums two atoms.

(add 2 3) is 5.