{ @ewe ( 8 4 7 tak @ewe.call ) } @ewe def tak ; @ewe.stack ~( $x $y $z ) { @ewe ( $x $y $z $y $x @ewe.lt @ewe.not [tak-true] [tak-false] @ewe.if ) } @ewe def [tak-true] ; @ewe.stack ~( $x $y $z ) { @ewe ( $x 1 @ewe.sub $y $z tak @ewe.call $y 1 @ewe.sub $z $x tak @ewe.call $z 1 @ewe.sub $x $y tak @ewe.call tak @ewe.call ) } @ewe def [tak-false] ; @ewe.stack ~( $x $y $z ) { @ewe $z } @ewe @ewe.dup ; @ewe.stack $ { @ewe.stack ( $ $ ) } @ewe @ewe.swap ; @ewe.stack ( $x $y ) { @ewe.stack ( $y $x ) } @ewe @ewe.call ; @ewe.stack $fn { @ewe def $fn ; } @ewe @ewe.if ; @ewe.stack ( $true $ true ) { @ewe def $true } @ewe @ewe.if ; @ewe.stack ( $ $false false ) { @ewe def $false } @ewe @ewe.lt ; @ewe.stack ~( $x $y ) { @ewe.stack $z ; @code [$z = tostring(tonumber($x) < tonumber($y))] } @ewe @ewe.not ; @ewe.stack true { @ewe.stack false } @ewe @ewe.not ; @ewe.stack false { @ewe.stack true } @ewe @ewe.sub ; @ewe.stack ~( $x $y ) { @ewe.stack $z ; @code [$z = tostring($x - $y)] } @ewe ( $x ) { @ewe.stack $x }