DSL / Mixing in the Host Language


DSL

ホスト言語との混在

一言要約

内部DSLは、ホスト言語の力をより多く使うことができる。

要約

  • ホスト言語の命令コードと内部DSLの記述は混在させることができ、DSLに不足した表現力(数式、抽象化等)を補うことができる。Rakeが良い例。
  • 反面Antは外部DSLであるためにホスト言語の力をうまく使うことができず、自身に表現力を付加していった結果泥沼にはまってしまった。
  • 外部DSLをホストコードと混在させる場合は、外部コードを使う。しかし、ツールは外部コードを理解してくれないし、変数シンボルの統合も困難。多くを望むほど、内部DSLの利用がより適切になっていく。
    • 正規表現やSQLなどが代表例。

ファウラーへのフィードバック

担当者のつぶやき


みんなの突っ込み