Test Wikibinator203 prototype (incomplete but works a little)
Wikibinator203 code in. It evals while you type,
but until vm.stackTime and vm.stackMem are working,
you might have to close and reopen browser tab if you write an infinite loop).
Example: (Pair (F U) S F) -> S
Example: (Pair (F U) S T) -> (F U)
Example: Pair -> Pair
Example: ([L R L R] Pair Pair L S R) -> [L R L R Pair Pair L S R]
Example: (L ([L R L R] Pair Pair L S R)) -> [L R L R Pair Pair L S]
Example: (R ([L R L R] Pair Pair L S R)) -> R
Example: (L U (R U)) -> U
Example: (L L (R L)) -> L
Example: (L R (R R)) -> R
Example: (L S (R S)) -> S
Example: (L (Pair S T) (R (Pair S T))) -> (Pair S T) - aka (Pair S T) is the iota lambda
Example: ((Pair S T) (Pair S T) [L R L R S]) -> [L R L R S] - cuz iota called on itself is an identityFunc.
Example: ((Pair S T) (Pair S T) (Pair S T)) -> (Pair S T) - cuz iota called on itself is an identityFunc.
Example: ((Pair S T) ((Pair S T) ((Pair S T) (Pair S T)))) -> T
- as in https://en.wikipedia.org/wiki/Iota_and_Jot cuz T is the K of SKI-Calculus.
Example: ((Pair S T) ((Pair S T) ((Pair S T) ((Pair S T) (Pair S T))))) -> S
- as in https://en.wikipedia.org/wiki/Iota_and_Jot cuz T is the K of SKI-Calculus.
This is an infinite loop (though runs out of javascript stack: (S (F U) (F U) (S (F U) (F U)))
It will be much easier use when Names#(...) and drag-and-drop and 1024x1024 per pixel graphics are working.
Wikibinator203 code in.
Eval of the above code, out:
https://github.com/benrayfield/wikibinator203
https://twitter.com/wikibinator