I highly recommend writing an interpreter if you get the opportunity. It's a lot of fun and deeply educational.
Related Posts
I'm having fun writing a simple type checker, but I'm learning firsthand why syntax-directed checking doesn't work. It prevents inference.
My checker catches real bugs, but it can't handle cases like this:
[1, 2].map(fun(x) { x + 1; })
I think I need bidirectional checking.
Do any tech streamers try new software live? It'd be a really fun way of doing UX testing.
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/