Upgrade to Pro — share decks privately, control downloads, hide ads and more …

型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブル...

Avatar for mazrean mazrean
August 31, 2026

型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers

Go言語に関連するツールであれば、設定をGo言語で行えることでユーザーへの要求知識の削減、省コストでの高い表現力・エディタ補完の実現など、多くのメリットが得られます。一方、Go言語は言語内 DSL との相性が悪いと言われることが多いです。実際、メタプログラミング手段の少なさなど、実現するにあたっての課題が多くあります。
本セッションでは、並行処理 DI ツール kessoku において、これらの課題を型解析と Generics により解決した事例を紹介します。

※Go Conference 2026で落選したプロポーザルを基に、「Conference に Go! タイムテーブルの歩き方 for Gophers」で登壇した際の登壇資料です。

Avatar for mazrean

mazrean

August 31, 2026

More Decks by mazrean

Other Decks in Programming

Transcript

  1. Goを設定ファイルにする難しさ 自由度が過剰で解析が難しい ▪ 変数の追跡 • ssa 使えば不可能ではない • ただ、追跡の実装が大変 ▪

    想定外の値の使用防止 • バリデーションに際限がない ▪ 構文上正しい書き方ができない と悪体験 8
  2. まとめ ▪ kessokuではGo言語で設定を記述できる ▪ 型での設定なら使用者・開発者両方幸せ • 使用者視点で自由度が高い • 開発者的にも解析が楽 ▪

    可変長の設定は型のみでは扱えない • それでもかなり手間は減る ▪ Go Conference で話したかった~~~~~ 15