Suanpan abacus by m.ukai

open String
let(!),i,a,b,z,e,s=print_string,iter," (__) ","  ||  "," ||
|| ",Char.code,read_line()let x,m=min 1,make(length s*6+2)'='let q n=(!)[|a;b|].(n)let f c=(e c-3)mod 5;;!("|\\"^m^"/|
");!"|| ";i(fun c-> !a)s;!z;i(fun c->q(e c/53))s;!z;i(fun c-> !b)s;!z;i(fun c->q(1-e c/53))s;!" ||
";!("|<"^m^">|
");!"|| ";i(fun c->q(1-x(f c)))s;!z;i(fun c->q(1-x(f c/2)))s;!z;i(fun c->q(1-f c/3))s;!z;i(fun c->q(1-f c/4))s;!z;i(fun c-> !b)s;!z;i(fun c->q(x(f c)))s;!z;i(fun c->q(x(f c/2)))s;!z;i(fun c->q(f c/3))s;!z;i(fun c->q(f c/4))s;!z;i(fun c-> !a)s;!" ||
";!("|/"^m^"\\|")

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page