=/ a=(unit @) (some 5)
?~ a 0
u.a
?~ tests a unit.
if not ~, u.a is the value.
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.
unit is the maybe type: either ~ or [~ value].
(unit @) holds an atom or nothing.
%: 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)
some wraps a value in a unit - [~ value].
(some 5) is [~ 5].
?~ branches on whether a value is ~ (null): first branch if it is, second if not.
=/(a=(unit @) ~ ?~(a 0 u.a)) is 0.