:: (fib) ( n p1 p2 -- f ) n zero? [ p2 ] [ n 1 - p2 p1 p2 + (fib) ] if ; : fib ( nth -- n ) 0 1 (fib) ;