!!
=/ adder |_ base=@ ++ make |= n=@ (add base n) -- (~(make adder 10) 5)

an arm can return a gate that closes over the door's sample.

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 door: a core carrying a sample, with many named arms.

~(arm door value) sets the sample, then pulls that arm.

a door is a gate with many named entry points.

=/  d
  |_  n=@
  ++  inc  (add n 1)
  --
~(inc d 4)

is 5.

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

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

|= 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.

%: 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.

~() pulls an arm from a door, setting the door's sample: ~(arm door value).

~(wyt by (malt `(list [@ @])`~[[1 2] [3 4]])) is 2.