諸事情により急に Minecraft のプロトコルを喋る Scala ライブラリが欲しくなった僕は、要求1に合いそうなライブラリが見当たらなかったため仕方なく作ることにしました。 Scala / sbt はそれぞれ 3.0.1 / 1.5.5 を利用します。 今回書いたコードはここに置いています。 Scala 3 のマクロについて Scala 3 でのメタプログラミングで提供されている機構を知らない方は、公式ドキュメントの macro tutorial に目を通すことを推奨します。必要に応じて language reference を参照してください。 この記事で解説するコンパイル時リフレクションは、必要でなければ書かない方が望ましいです。書くことが避けられなさそうな場合は、公式ドキュメントで説明されていないマクロ開発テクニック等を解説している SoftwareMill による記事に目を通