ドメイン固有言語
統計的モデリング、特にベイズ確率を使った技法では、BugsやJagsといったDSLが作られてきた。これらのDSLはベイズ確率モデルを記述するためのもので、シミュレーションによってそのモデルを解く手段を生成する。
DSL を利用するパターンには以下のような場合がある:
単独でDSLを利用する場合。また、(コマンドラインやMakefileから)ユーザー操作の直接的結果として呼び出される場合(Graphvizなど)。
プログラミング言語のマクロシステムを利用して実装されたDSLは、コンパイル時か読み込み時に汎用プログラミング言語に展開/変換される。メタプログラミングにより、汎用プログラム言語としてそのまま実行可能なDSLを構築することもできる。
C言語やPerlなどの汎用プログラミング言語で書かれたプログラムから(実行時に)呼び出され、特定の機能を実行して、その結果を主プログラミング言語に返して処理を続けるという形態で使われる DSL もある。
ユーザーアプリケーションにDSLが組み込まれている場合、そのアプリケーションのユーザーが書いたDSLコードを実行するか、アプリケーション自体がDSLコードを動的に生成して実行する。