( ; core utilities ($x ^x ^x) $dup ($_) $drop ($x $y ^x ^y) $swap ($a $b $c ^b ^a ^c) $rot (sub) $- (0 swap - -) $+ (()) $nil (nil eq) $null? ($x x) $force (10 emit) $cr (print) $print (4 +) $cell+ ($a $d 2 alloc $p ^a ^p poke ^d ^p cell+ poke ^p ) $cons (peek) $car (cell+ peek) $cdr ; if-stmt ($c $t $f c ^f ^t rot cswap $_ force) $if ($f $t $c $fn ^f ^t ^c fn) $endif ; range ($self $start $end ^if (^start ^end eq) ^nil (^start ^end ^start 1 + self swap cons) endif ) $range ; map [$fn $list -> $out-list] ($self $fn $list ^if (^list null?) ^nil (^list car fn ^list cdr ^fn self swap cons) endif ) $map ; each [$fn $list] ($fn (fn ^nil) map drop) $each ; implementation (0 1 ($self $a $b $n ^if (^n 0 eq) (^b) ( ^n 1 - ^a ^b + ^b self ) endif ) force) $fibonacci 10 1 range ^fibonacci map ^print each )