/ jot: http://ling.ucsd.edu/~barker/Iota/ / zot: http://ling.ucsd.edu/~barker/Iota/zot.html K:{y;x} S:{x[z][y[z]]} I:{x} B:{x[y[z]]} J:(I;{x[S][K]};B) jot:{*({(:[~#y;x;J[1+.*y][x]];1_ y)}.)/(x;"",y)} Z:({[c]c[I]};{[c]c[{[f]f[S][K]}]};{[c;L]L[{[l;R]R[B[c;l]]}]}) zot:{*({(:[~#y;x;x[Z 1+.*y]];1_ y)}.)/(x;"",y)} o:{_ssr/[$x;("{y;x}";"{x[[]z[]][[]y[[]z[]][]]}";"{x}";"{x[[]y[[]z[]][]]}");"KSIB"]} o jot[*J]"11111000" o jot/[*J;("111";"11000")] o'J[0]jot\"11111000" o zot[*Z]"100" o zot[*Z]"10100" o zot[*Z]"1010100" o zot[*Z]"101010100" q:"1110101010011010100110101010011010100101010011101010100110101001101010100111010101001101010010101010011101010100110101001101010100100101010011101010100110101001010100101010001" r:"1111010101001110101010010011010100100100111010101001110101010011010100101010100111010101001101010011010101001101010010101010011101010100111010101001101010010101010011101010100110101001101010100110101001010101001110101010011010100110101010011010100110101010011101010100111010101001110101010011101010100100110101001001101010010011010100100110101001010100111010101001101010011010101001101010011010101001101010010101001110101010011101010100110101001010101001110101010011010100110101010011010100101010100111010101001101010011010101001110101010011010100101010100101010011101010100110101001010100111010101001110101010011010100101010100111010101001101010010101001110101010011010100101010100101010011010100111010101001101010011010101001001010100110101001010100111010101001101010011010101001101010011010101001101010010101001110101010011101010100110101001010101001110101010011010100110101010011010100101010100111010101001101010011010101001110101010011010100101010100101010011101010100110101001010100111010101001110101010011010100101010100111010101001101010010101001110101010011010100101010100101010011010100111010101001101010011010101001001010100110101001010100111010101001101010010101001010100" s:"1101000" zot[*Z]r,s \ Jot Syntax: Semantics: F --> e ^x.x F --> F 0 [F]SK F --> F 1 ^xy.[F](xy) (let jot ((v (lambda (x) x))) (cond ((eof-object? (peek-char)) v) ((eq? #\1 (read-char)) (jot (lambda (f) (lambda (a) (v (f a)))))) (else (jot ((v (lambda (x) (lambda (y) (lambda (z) ((x z)(y z)))))) (lambda (x) (lambda (y) x))))))) Zot Syntax: Semantics: F --> F B [F]([B]) F --> e ^c.cI B --> 0 ^c.c(^f.fSK) B --> 1 ^cL.L(^lR.R(^r.c(lr))) Positive Zot Syntax: Semantics: F --> F B [F]([B]) F --> B [B] B --> 0 ^c.c(^f.fSK) B --> 1 ^cL.L(^lR.R(^r.c(lr)))