> Macro is okay. Procedure is not okay. Break is a procedure.
Why do you believe this to matter? Smalltalk's signaling and exception handling (both `catch` and `finally` equivalent) uses regular messages and blocks (with hooks into the interpreter obviously). What value do you see in making special syntax things which need not be so, ease of "optimizations" (such as compiling a block to a jump)?
Why do you believe this to matter? Smalltalk's signaling and exception handling (both `catch` and `finally` equivalent) uses regular messages and blocks (with hooks into the interpreter obviously). What value do you see in making special syntax things which need not be so, ease of "optimizations" (such as compiling a block to a jump)?