namespace eval deadfish { proc eval { code } { variable n 0 ::eval [join [split [regsub -all -- {[^idso]} $code {}] {}] \n] } proc ! {} { uplevel { variable n; set n [expr (($n==256||$n<0)) ? 0 : $n] } } proc i {} { !; incr n } proc d {} { !; incr n -1 } proc s {} { !; set n [expr $n*$n] } proc o {} { !; puts $n } } deadfish::eval { iisiiiisiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiooiiio dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddo dddddddddddddddddddddsddoddddddddoiiioddddddoddddddddo } deadfish::eval iissso deadfish::eval iissiso