On Sat, Feb 23, 2008 at 1:05 AM, <oleg@okmij.org> wrote:
Adding control effects (shift/reset) changes the expressivity results. Now all three calculi are distinct and none subsumes the other. For example, the expression reset( (\x -> 1) (abort 2)) evaluates to 1 in call-by-name and evaluate to 2 in call-by-value. The expression reset ((\x -> x + x) (shift f f)) has the type int->int in call-by-need (it is a function \x -> x + x) and it has the type int->int->int in call-by-name (and it is the curried addition function).
Aha. Okay, so shift/reset exposes evaluation order, amongst other things. Hm... thank you very much! -- Taral <taralx@gmail.com> "Please let me know if there's any further trouble I can give you." -- Unknown