(snag 1 `(list @)`~[8 9 10])
snag picks an element by index, counting from zero.
glossary
%: 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)
snag picks a list element by index, counting from zero.
(snag 1 `(list @)`~[8 9 10]) is 9.
^- 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)