Temporary chapter name for all chapters
fibonacci-test

The big test:

    testCase(
        \\fn fib(n: i64) i64 {
        \\    var a: i64 = 0;
        \\    var b: i64 = 1;
        \\    var i: i64 = 0;
        \\    while (i < n) {
        \\        var t: i64 = a + b;
        \\        a = b;
        \\        b = t;
        \\        i = i + 1;
        \\    }
        \\    return b;
        \\}
        \\fib(10)
    , 89, &ctx);

If this prints ok 89 -- congratulations. You have a programming language. It handles arithmetic with precedence, typed variables, mandatory-brace if/else, while loops, and functions with typed parameters and return values. All from a string. All in one Zig file.

Stop and think about that. We started 27 problems ago with eval("7") returning 7. Now we have Fibonacci. That's a real distance.

(The test is the problem. If Fibonacci passes, you're done with the interpreter.)