Понимание API продолжений с разделителями с несколькими подсказками

API для продолжений с разделителями с несколькими подсказками описан в статье Delimited Control in OCaml, Abstractly and Concretely System Description .

Мой вопрос касается типа push_subcont : ('a,'b) subcont -> (unit -> 'a) -> 'b. Почему этот тип не ('a,' b) subcont -> 'a -> 'b? Кроме того, почему существует отдельный тип для subcont: почему бы не просто ('a,'b) subcont = 'a -> 'bЯ почти уверен, что на это есть веская причина, потому что Олег делает вещи максимально изящными (но не изящнее).

Спасибо!

5
задан Jules 13 May 2012 в 01:08
поделиться