aboutsummaryrefslogtreecommitdiff
path: root/examples/fib_gen.sloth
blob: dd9e08f6d699383f6c84896c2959b5a2d2de40b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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(", "))