一部の言語では文字列補間をカスタマイズすることで、リッチな体験を実現することができます。
例えばScalaのdoobieでは、SQLに値を埋め込むように書いても、実際には安全なplaceholder構文に変換することができます。
https://typelevel.org/doobie/
残念ながらKotlinにはこの仕組みはありませんが、Kotlin Compiler Pluginを使えば実現可能です。
そこで、Kotlin Compiler Pluginを活用することで前述したScalaのdoobieのようにSQLを書くことができる「kuery-client」というライブラリを開発してみました。
https://github.com/be-hase/kuery-client
このライブラリを題材に、Kotlin Compiler Pluginの開発事例をご紹介したいと思います。