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.
miniblog.
Related Posts
It's really satisfying to use a profiler for the first time on a project. I always find a big performance win with only a small code change.
It's never the code that I expected to be slow, however!
The lisp model of programming is generally: write a function, evaluate it, interactively call it with some arguments, iterate. Jupyter notebooks are similar.
Why not automatically evaluate definitions (not expressions) whilst working? It seems like it could be a satisfying way to work with code.
That satisfying feeling when you write a to to help with development and you start using the tool when working on it. Dogfooding!