from here you write code. the subject is the start of a program, your code finishes it, and a hidden check judges what it produces.

input is json, as text. de:json:html parses text into a json value, a tagged union: %s for a string, %n for a number, %b, %a, %o, and ~ for null.

it produces a unit, since text can fail to parse. need takes the value out, and crashes on ~.

parse input.

=> |% ++ input '"hello"' --
glossary

=> sets the subject to its head, then evaluates its tail against it.

=>([a=1 b=2] b) is 2.

|% makes a core: a battery of named arms, each written ++ name.

reach an arm back out with =< or arm:core.

=<  a
|%
++  a  5
--

is 5.

%= resolves a wing with some faces changed.

=/(a [x=1 y=2] a(x 9)) is [x=9 y=2].

irregular forms:

a(x 9) is %=(a x 9)

$(a b) restarts a loop with a changed to b