=/ square
|= a=@
(mul a a)
(square 7)
this gate multiplies its argument by itself.
glossary
=/ pins a named value (a face) into the subject for the lines below it.
name=value optionally declares the type.
=/(a 3 (add a a)) is 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=@.
%: 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)
mul multiplies two atoms.
(mul 3 4) is 12.