![]() |
CiteULike | ![]() |
shimomura's CiteULike | ![]() |
![]() |
|
![]() |
Register | ![]() |
Log in | ![]() |
MinCaml コンパイラにおける shift/reset の実装 |
Reviews
[Write a review of this article]
Find related articles from these CiteULike users
Find related articles with these CiteULike tags
Posting History
Abstract継続とは,計算のある時点における「残りの計算」を表す概念である。プログラミング言語に継続を扱う機能を導入すると,ユーザによるプログラムの実行順序の制御が可能になる。 継続をプログラムで扱うには,プログラムをCPS 形式で書くか,CPS 変換を施せばよい。しかし,CPS 変換を施すとプログラム全体が書き換わるので,局所的に継続を扱いたい場合には不向きである。 一方,call/cc やcontrol/prompt,shift/reset などの継続を扱える命令を導入すると,プログラムを大きく書き換えることなく,継続が扱えるようになる。call/cc については効率的な実装方法が研究されているが,shift/reset の実装についてはまだあまり研究されていない。そこで本研究では,MinCamlコンパイラに限定継続の命令shift/reset を導入し,その直接実装を試みる。またその改良として,フレームをlazy にコピーする実装方法を示す。
BibTeX record
RIS record