@ me (aidanprattewart@protonmail.com) if you have any errors, with console output please.
a b -> b a
parensed lambda: (a -> a)
(name; value1 value2)
N.B. when called, applies (pushes) both values to the stack
(++; x -> x 1 +)
1 2 pair
evaluates to {1, 2}
fst
and snd
on pairs
'+
pushes (not applies) a closure onto the stack
1 +
is a partially applied function/closure
"1 "int unsafeCoerce 1 +
"true-option "false-option val1 val2 ==
(!; x -> 1 '(-> x 1 - ! x *) x 0 ==)
"stop
): (fold; x acc fn -> '(-> acc) '(-> x acc fn 'fn fold) 'x \"stop ==)