diff options
Diffstat (limited to 'fib.kpl')
| -rw-r--r-- | fib.kpl | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -1,10 +1,23 @@ // Fibonacci sequence for all numeric types -fib : Fn[n] $ ( +`export fib : Fn[n] $ ( ? { n <= 0 { 0 } n < 3 { 2 } { `call_sync(fib; n - 1) + fib `call_sync n - 2 } } ) + +`is_main Fn $ ( + ( args ) : `use "sys" + ? 3 != `length args { + `return `error String $ ( + "Got: "; " " `join args; "\n" + "Usage: "; args `get 0; " "; args `get 1; " <number>\n" + ) + } + n : I64 $ args `get -1 + ( print ) : `use "io" + print `call_sync String $ ("fib("; n; ") = "; fib `call_sync n; "\n") +) |
