The Monkey Programming Language
monkeylang.org
monkeylang.org
One thing I want to do next is to try and implement the tree-walking interpreter again in another language (probably F# in my case) and maybe share it if I finished it up. This site is basically a concrete version of that small thought in my head.
Funny how things work out!
If you have not read the books they are a really good practical introductions to building interpreters and compilers.
[1] https://www.se-radio.net/2019/05/365-thorsten-ball-on-buildi...
I wished the whole time they'd just given me a somewhat locked-down C, and I'm only a C-dabbler so that's not a preference I'd have due to great familiarity or anything.
It was overall somewhat more unpleasant, but less weird, than writing code for Roku. Most of the Roku weirdness was just because they had some new very-much-halfassed XML programming system you had to use for new apps at the time, which forced you to define public interfaces for objects in XML for no good reason while doing the actual work in Brightscript, which isn't gonna win any language design awards ever but is at least usable. Plus it's obscure so figuring all that out was tons of fun.
I may be getting the book soon...
If you want a Lisp, it's possible, just rewrite the OS layer.
(I speak from experience.)
If it's going to be 'the final system' there really has to be legion compelling reason to switch. I just don't see it.
Also, and I honestly mean no offence, but do we really want to call it Monkey? It's a tad childish. We're going to be asking Governments, Banks, public services etc. to being using this thing.
There's already Monkey C used to develop for Garmin devices, and the Monkey/MonkeyX/Monkey2 family by Mark Sibly (of Amiga Blitz Basic fame).
At a guess, the author chose the syntax because it's familiar and easy to parse. Go's syntax is... eccentric where it differs from typical C-style languages.
Many of those are not just for the easiness of implementation but also for the quality of partial parsing, frequently required for today's compilers. I do agree that they are not intentionally designed in that way.