The problem with programming is that it's fun to make things. How do we incentivise reuse and collaboration?
Related Posts
Is there a programming equivalent of the strawberry problem, i.e. a specific coding task that LLMs are consistently bad at?
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?
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.