!!
=/ s (silt `(list @)`~[1 2 3]) (~(has in s) 9)

not in the set.

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.

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

silt builds a set from a list of values.

~(wyt in (silt `(list @)`~[1 2 2 3])) is 3.

^- casts a value to a named type: it checks the value fits and relabels it.

^-(@ 42) is 42.

irregular forms:

a leading backtick cast - the type in backticks, then the value - is ^-

list is the type of a null-terminated sequence.

(list @) is a list of atoms; the empty list is ~.

:~ makes a null-terminated list.

:~(1 2 3) is ~[1 2 3].

irregular forms:

~[a b c] is :~(a b c)

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

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

~(has in s) asks whether a value is in a set, giving a loobean.

on a set holding 2, asking for 2 is %.y.

in is the door of set operations: ~(has in s), ~(put in s), ~(uni in a), ~(wyt in s), and so on.

(~(has in (silt `(list @)`~[1 2 3])) 2) is %.y.