Writing an interpreter is an amazing exercise in defensive programming. There are a *lot* of things that can go wrong.
Related Posts
I'm adding a += operator to my programming language, because writing `x = x + 1` is tedious.
This opens the tricky design question of which operators should support this. Is += and -= sufficient, or do you expect things like >>= and **= to be available?
Text to speech systems seem to have largely avoided the uncanny valley effect. I've encountered robotic sounding voices but it's way less unsettling than bad CGI.
I'm not sure why this is. Maybe looking at faces is just way higher bandwidth so more things can go wrong?
I've added an eval button to the website of my programming language!
It's a been a lot of work to lock down appropriately. It still needs some UI polish but it's so nice to be able to try snippets immediately.
https://www.garden-lang.org/