Language-Oriented Programming
https://www.youtube.com/watch?v=z8Pz4bJV3Tk
Racket translates these insights into an explicit design goal:
Racket empowers developers to add (sub)languages, and the process of adding these languages to the existing eco-system is free of any friction. ref Racketは開発者が(サブ)言語を追加することを可能にし、既存のエコシステムに言語を追加するプロセスには一切の摩擦を生じさせません。 (deepl)
コンパイル時用の関数を書くことで簡単に言語を拡張できる