This is a simple editor for a programming language I am building following along with the book Writing an Interpreter in Go. There are a few differences in my implementation which can be found at the github repo for the project.
Right now my implementation of Monkey supports positive and negative integers, strings, booleans, null values, arrays, hashes (maps) and functions. Monkey has first class functions so functions can be variables or arguments to other functions. Monkey also supports recursion.
Monkey supports:
let arr = ["a", 2, fn(x) { return x + 1; }]; arr[2](arr[1]);
{ "key": "value", 1: "cool", true: 1, 5: false }
let x = 5;
let foo = fn(x) { return x + 2; }
if (x == y) { return true; } else { return false; };
#
for single line commentswhile
loops: let i = 0; while (i < 10) { let i = i + 1; }; i;