We Should be Able to Change our Languages
Summary
The article argues that programming languages are fixed artifacts and contends that macros and language customization can help developers tailor languages to their needs. It surveys historical resistance to macros, presents a case for their usefulness with modern tooling like AI-assisted development, and showcases concrete examples (Sweeteners for TypeScript, algebraic data types, and TSX control flow) to illustrate how customizable constructs can simplify coding and enable end-user language design.