My recent post proclaimed in substance my faith on Perl6 macros as a device to cast in syntax common programmatic patterns which were not integrated in Perl6 standard syntax. It makes sense because a programmatic pattern may be common in some context but not worthwhile to capture in the standard language. It can also be a way to experiment syntactical devices that can eventually find their way in Perl6 standard syntax.

I was pointed to this artima weblog by a (not yet archived) post in ll1. It says that macro is one of the devices that distinguish LFSPs (Languages For Smart People) and LFMs (Languages for the masse) and goes to analyse their implications.

The blog author cites Gilad Bracha who advocates against the introduction of macros in Java because it is a LFM: The advantages of Java is that it easily serves as a lingua franca - everyone can read a Java program and understand what is going on. User defined macros destroy that property.

What do you think?

-- stefp stefp
Come to YAPC::Europe 2003 in Paris, 23-25 July 2003.