diff options
Diffstat (limited to 'examples/fib_gen.sloth')
| -rw-r--r-- | examples/fib_gen.sloth | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/examples/fib_gen.sloth b/examples/fib_gen.sloth new file mode 100644 index 0000000..dd9e08f --- /dev/null +++ b/examples/fib_gen.sloth @@ -0,0 +1,14 @@ +fn fib(n: i32) -> i32 { + match n { + 0 | 1 => n, + _ => fib(n - 1) + fib(n - 2), + } +} + +generator fn fib_sequence(range: Range<i32>) -> i32 { + for n in range { + yield fib(n); + } +} + +print(fib_sequence(0..20).join(", ")) |
