sphinx-lang 0.8.6

An intepreter for a dynamic language implemented in Rust
Documentation
var f = nil

fun f1()
    let a = "a"
    fun f2()
        let b = "b"
        fun f3()
            let c = "c";
            fun f4()
                print("a:", repr(a))
                print("b:", repr(b))
                print("c:", repr(c))
                assert "a" == a
                assert "b" == b
                assert "c" == c
            end
            nonlocal f = f4;
        end
        f3()
    end
    f2()
end

f1();

f();