I'm finding that writing a interpreter (I chose Scheme) is deeply satisfying, and a great way to learn a language. http://bit.ly/mAtNae
Related Posts
Bootstrapping a language can be immensely satisfying.
I've added the ability to define stub types in the Garden stdlib and suddenly I don't need to special-case Int or String! They're just normal type declarations.
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?
Today I learnt that Emacs 28 shipped a context-menu-mode! https://oylenshpeegul.gitlab.io/blog/posts/20230129/
This seems quintessentially Emacs: deeply hackable, but building UI features in an order very different to the mainstream.