summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-05-17 14:43:41 -0400
committernodist <kevin.comas.git@gmail.com>2026-05-17 14:43:41 -0400
commit55bfd0ef0ca7ffba9d52905f24b7c71caa96d8a8 (patch)
treecb2dcadfe2151a02e09e9bddad05c1a3376cb365
parent057db14c6f6373b75930d76f22aa5a0e2955a728 (diff)
add is_main to fib example
-rw-r--r--fib.kpl15
1 files changed, 14 insertions, 1 deletions
diff --git a/fib.kpl b/fib.kpl
index e8ebeb8..4b7fb15 100644
--- a/fib.kpl
+++ b/fib.kpl
@@ -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")
+)