: fib ( n -- fib )
  0 1 rot 0 ?do  over + swap  loop drop ;

Here's a recursive implementation for RetroForth:

: fib dup 3 <if drop 1 ;; then dup 1- fib swap 1- 1- fib + ;

And for ANS forths:

: fib dup 3 < if drop 1 exit then dup 1- recurse swap 2- recurse + ;