RosettaCodeData/Task/Anonymous-recursion/F-Sharp/anonymous-recursion-2.fs

6 lines
161 B
Forth
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
let rec fix f x = f (fix f) x
let fib = function
| n when n < 0 -> None
| n -> Some (fix (fun f -> (function | 0 | 1 -> 1 | n -> f (n-1) + f (n-2))) n)