Language-Oriented Programming
https://www.youtube.com/watch?v=z8Pz4bJV3Tk
Racket
https://en.wikipedia.org/wiki/Language-oriented_programming
http://www.gkc.org.uk/martin/papers/middle-out-t.pdf
Martin Ward
https://resources.jetbrains.com/storage/products/mps/docs/Language_Oriented_Programming.pdf
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)
コンパイル時用の関数を書くことで簡単に言語を拡張できる