Following a tutorial that implements an interpreter for the Monkey programming language (Thorsten Ball's Writing an Interpreter in Go).
- Go 1.13+
$ make repl
$ make test
>> puts("Hello, world!")
Hello, world!
null
>> 1 + 1
2
>> let items = {"foo": "bar", "baz": "quux"}
>> items
{foo: bar, baz: quux}
>> items["foo"]
bar
>> items["oh no"]
null
>> let numbers = [1, 2, 3, 4, 5]
>> numbers
[1, 2, 3, 4, 5]
>> numbers[0]
1
>> numbers[9]
null
>> let square = fn(x) { x * x; }
>> square(2)
4
>> "o" + "m" + "g"
omg