A Programmable Programming Language
Instead of having to think about every possible way a language might be used and account for it up front, languages with good metaprogramming facilities let the users them to fit their needs. This way the core language can stay small and focused while remaining flexible.<p>While you don’t want everybody building their own language, userland extensibility can play a huge impact on the overall cleanliness of the language because new ideas can be tried out as libraries. If these ideas don’t pan out, the community moves on. Projects using these libraries will keep working, but the core language doesn’t end up accumulating cruft. I wrote about that in detail here: <a href="https:&#x2F;&#x2F;yogthos.net&#x2F;posts&#x2F;2017-10-03-MovingForwardByLettingGo.html" rel="nofollow">https:&#x2F;&#x2F;yogthos.net&#x2F;posts&#x2F;2017-10-03-MovingForwardByLettingG...</a>