ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化 by Kenichi Suzuki (knih)

関数型まつり2025
採択
公募セッション50分
公募セッション Intermediate ライブラリ/フレームワーク 言語処理系 理論 入門

ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化

_knih Kenichi Suzuki (knih) _knih
3

対象とする聴衆のレベル(該当するレベルを記載してください。)

  • Intermediate: 分野の基礎知識を持っている

セッションのテーマ(該当するテーマを記載してください。なければ追加頂いて良いです)

  • ライブラリやフレームワーク
  • 言語処理系(コンパイラー、インタープリターなど)
  • 理論
  • 入門
  • tagless-final

セッションの概要

ソフトウェア開発において、複雑なビジネスドメインを正確に捉えることは極めて重要です。しかし、その過程でしばしば直面するのが、余計な詳細や偶有的複雑さ(accidental complexity)です。これらはシステムを理解しにくくし、保守コストを高める原因となります。
そこで鍵となるのが「抽象」の役割です。本発表ではドメインモデリングにおける抽象の役割を取り上げ、問題空間と解決空間の橋渡しや、ドメインの核となるモデルを的確に表現する土台を作り上げることの重要性について述べます。そして、これらを実現するためのアプローチとして、tagless-finalによる型安全なDSL構築手法について取り扱います。さらに、DSL自体を、型安全に最適化あるいは拡張していくための方法について扱います。また、ソフトウェア開発において、DSLをいつ作るべきか、どのように活用するか、についても触れます。

キーワード:

  • DDD(ドメイン駆動開発)、ドメインモデリング
  • DSL(ドメイン特化言語)
  • 抽象
  • tagless-final、高階抽象構文
  • プログラム変換と最適化
  • 部分評価(partial evaluation)
  • Normalization by Evaluation(NbE)
  • 開発生産性と品質
  • Software Product Line(SPL)