内部DSL
Internal DSL
埋め込みDSLとも
既存のプログラミング言語をホストとしてその上に実装されるDSL つまり内部DSLの処理系はホスト言語の処理系になる
ホスト言語のライブラリやフレームワークとして提供される
DSLのために新たにparserやcompilerを実装しないで良い
文法はホスト言語と同じ、という制約あり
シンタックスシュガー
フォーマット
AST変換
マクロ
例
Ruby
仮想化開発環境構築
Scala
負荷テスト
Java
処理の連結
文法はホスト言語に多少依存する?
文法などが依存するならわざわざ言語を作るメリットが感じられないのだが
普通の便利関数の組み合わせとはどう違うの?
ホスト言語との連携もできる?
haskell
参考