func get_fib() {
func fib(n) {
return n > 2 ? fib(n - 1) + fib(n - 2) : n;
}
return fib;
}
var fib = get_fib();
var start = time();
for (var i = 0; i < 10; i = i + 1) {
print fib(i);
}
print "took:", time() - start, "nano-seconds to execute";
git clone https://github.com/zaixrx/AML-lang.git
cd ./AML-lang && go build -o amlyou can either use repl
./aml -repl
>> print "Hello, World!";
"Hello, World!"or interpret an existing file
./aml ./examples/helloworld.aml
"Hello, World!"- crafting interpreters: https://craftinginterpreters.com
- I'm not a go developer: https://go.dev/ https://gobyexample.com https://go.dev/blog/pgo
- useful theory: