defn fibiter(n){ local f, i, v; f={0,1,1}; loop i=3, n do { v = f[i-1]+f[i-2]; f = append f, v; } return f[n]; } defn fibrecur(n){ if n == 0 then { return 0; } else if n == 1 then { return 1; } else return fibrecur(n - 1) + fibrecur(n - 2); } assert(fibiter(10)==55); assert(fibrecur(10)==55);