2013-10-03 限定継続の(すごくわかりやすい(かもしれない))解説 ** この記事はmrubyで限定継続(shift/reset)を実装した話の一部です 限定継続とは一般化された継続のようなもので、切り取るスタックの底を指定できるcallccのようなものです。といってもこうやって言葉を並べているだけだと何を言っているか全くわからないと思うのでここから具体的に説明していきます。 限定継続にはいくつか種類があるんですが、とりあえず今はshift/resetという二つの演算子(二つで一つのペアです)を説明します。 説明で使っているAPI mruby-partcontの以下のAPIを使っています。 class Continuation self[*ret] -> value call(*ret) -> value Kernel.#reset Kernel.#shift reset rese