2011年7月23日土曜日

【まとめ】埋め込みDSL関係の論文(2)


引き続き、埋め込みDSL(Domain Specific Language)関係の論文をまとめたので書いておく。

Template Meta-programming for Haskell (2002) - Tim Sheard, and Simon Peyton Jones
→Haskellでコンパイル時メタプログラミングを行うTemplate Haskellの論文

A Special-Purpose Language for Picture Drawing (1997) - Samuel N. Kamin, and David Hyatt
→MLを使って、2次元の絵を表現するための組み込みDSLを作る

Compiling Embedded Languages (2000) - Conal Elliott, Sigbjorn Finne, and Oege de Moor
→Kaminのプログラム生成のアイデアを元に、組み込みDSLの最適化コンパイラを示す。計算効率が重要な分野の応用例として、この方法を画像合成・操作のための言語Panに適用する。

Functional Implementations of Continuous Modeled Animation (1997) - Conal Elliott, and Paul Hudak
→連続的アニメーションのモデルを設計し、それを試作として実装してみせる。

Programming Graphics Processors Functionally (2004) - Conal Elliott
→3Dグラフィクスのための組み込みDSLであるVertigoを紹介する。VertigoはHaskellで書かれている。Vertigoは、GPUのコードを生成する最適化コンパイラである。

Functional Reactive Animation (1997) - Conal Elliott, and Paul Hudak
→インタラクティブでリッチなアニメーションを構築するためのフレームワークFRAN(Functional Reactive Animation)を紹介する。

Building Domain-Specific Embedded Languages (1996) - Paul Hudak
→良いソフトウェアを書くには抽象化が重要であり、最も"理想的"な抽象化は問題に合わせて設計されたプログラム言語を作ることであるとして、その障害である言語設計と実装の困難さを、組み込みDSLというアプローチで回避することを提案する。

Applicative programming with effects (2008) - Conor McBride, and Ross Paterson
→副作用を持つプログラムの抽象化の方法として、Monadよりも弱いため広く使えるApplicativeファンクタを紹介する。

Arrows, Robots, and Functional Reactive Programming - Paul Hudak, Antony Courteny, Henrik Nilsson, and John Peterson
→FRP(Functional Reactive Programming)の実例として、Haskellによる組み込みDSLであるYampaを紹介する。Yampaではモナドの一般化としてアローを使用する。Yampaによって、時間変化を扱うプログラムを宣言的なスタイルで実現できる。


■関連エントリ

【まとめ】埋め込みDSL関係の論文(1)

--

0 件のコメント: