In article <6168A472-3688-4D85-AAE1-49A2F376B908 / fallingsnow.net>, Evan Phoenix <evan / fallingsnow.net> writes: > Yes, it does. Almost every language says that the order that the > arguments are evaluated in is "undefined", so I simply had rubinius > evaluate them the way that was simplest. Several exceptions: Ruby, Python, Java. They specified evaluation order. Since the restriction of the evaluation order, I'm not sure that what optimizations are possible when retry is removed. retry in block on 1.9 is not more dangerous than break in block because foo { ... retry ... } can be rewritten as follows. retrying = true while retrying retrying = false foo { ... retrying = true break ... } end break can emulate retry. -- Tanaka Akira