From e8434234f2dc7ef89477205aae05cabc4ac41d39 Mon Sep 17 00:00:00 2001 From: nodist Date: Fri, 21 Aug 2026 09:54:00 -0400 Subject: new examples --- fib.kpl | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 fib.kpl (limited to 'fib.kpl') diff --git a/fib.kpl b/fib.kpl new file mode 100644 index 0000000..1ce17e6 --- /dev/null +++ b/fib.kpl @@ -0,0 +1,38 @@ + +// Fibonacci Example + +fib_recursive : `{[I64 n] + ? n < 0 { .error $ "n Cannot Be Negative" } + fib : `{[I64 n] + ? { + n = 0 { 0 } + n < 2 { 1 } + { + (fib `sync n - 1; fib `sync n - 2) } + } + } + fib `sync n +} + +fib_loop : `{[I64 n] + ? n < 0 { `return.error $ "n Cannot Be Negative" } + a : 0 + b : 1 + @ 0 .. n { + c : b + b +: a + a : c + } + a +} + +fib_array : `{[I64 n] + ? { + n < 0 { `return.error $ "n Cannot Be Negative" } + n > 1 { n -: 1 } + } + arr : Array (0; 1) + @ 0 .. n { + arr `push arr[-2] + arr[-1] + } + arr +} -- cgit v1.2.3