Re:Oberon - The Oberlooked Jewel
by guard-of-terra on Sunday April 22, 2012 @12:43PM
(#3875299)
Macro is okay. Procedure is not okay. Break is a procedure.
> 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)?
Re:Oberon - The Oberlooked Jewel
by lucian1900 on Sunday April 22, 2012 @02:23PM
(#3875594)
Why is it not okay? Any lisper will tell you using a function is always preferable to using a macro, if at all possible.
Re:Oberon - The Oberlooked Jewel
by guard-of-terra on Sunday April 22, 2012 @04:10PM
(#3875918)
C is a strict and beautiful. Pascal is "Here you have your ugly break; because you too weak to live without it".
Yes, I have a collection of works of art entitled "buffer exploit", placed next to the "dangling pointer" exhibition hall.
It is sooo beautiful.
Don't you understand the sheer beauty of the undefined behavior? It is not the beauty of a great painting, it's the beauty of the winter mountain: shining, tantalizing, with the stability of a marble on a needle and ready to take your life at the lightest sneeze.
If you think C is strict, then you've never looked at the ANSI C standard.
Re:Oberon - The Oberlooked Jewel
by guard-of-terra on Sunday April 22, 2012 @05:48PM
(#3876205)
I've looked at Delphi, thank you.
Common Lisp's loop is a macro, Smalltalk's are method calls (with blocks), work fine.
That's not the case in Pascal though. Neither `for` nor `while` are procedures, as in C they're special forms of the language.