On Fri, 22 Jun 2018, Ryan Joseph wrote:
On Jun 22, 2018, at 12:21 PM, Michael Van Canneyt <mich...@freepascal.org>
wrote:
'Nice' is not an argument.
If someone else assumes that assert() works as expected - i.e. throws an
exception, then your macro will mess up his code, leading to
unpredictable results.
From my - admittedly subjective - point of view, your examples only serve to
demonstrate why we should definitely not support macros...
For any example I can give it’s easy to extrapolate into some scenario where it
would be a disaster. I get that. The reason I ever wanted to make a macro was
for personal use to give some project specific meaning to some construct or a
quick hack. Frameworks like Apple uses, often use macros to document parts of
code in a way which otherwise isn’t part of the language and no suitable for
comments. I’m not saying this is how we all should program. I don’t suggest
people go out and start using macros in place of functions.
Btw why was the $define:= syntax ever introduced in the first place?
adding a parameter to the syntax is a minor extension but it sounds like
Pascal programers here really don’t like it in general.
A good and just question. We most likely didn't realize the consequences.
Meanwhile we're older, more experienced and we now know what impact seemingly
good ideas can have...
C was designed from the ground up with preprocessing. Pascal, and most newly
designed languages, do not have preprocessing built-in. For good reason.
Some cans are better left unopened. Or pandora's box is better left
closed... (if you prefer mythological references ;) )
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal