|There's more than one way to do things|
Re: Re: Macros, LFSPs and LFMsby adrianh (Chancellor)
|on Jun 11, 2003 at 22:20 UTC||Need Help??|
I wouldn't use it for C-like purposes. C-like macros are not that powerful - you can only do basic textual substitutions. To quote Synopsis 6:
Macros (keyword: macro) are routines whose calls execute as soon as they are parsed (i.e. at compile-time). Macros may return another source code string or a parse-tree.
Returning a parse-tree is where it gets interesting. What we get here are LISPish macros. We'll be able to write code that's run at compile time to create our own syntax.
Want a switch statement in Perl6? Just write one.
Want to add AOP or Design by Contract support to Perl6? Just write some new syntax.
Want to create a domain-specific language so you can write code that more directly reflects the problem domain? Yes - you guessed it - just write some new syntax!
Macros - can't wait ;-)
Update: Just come across A Macro System for Perl?, which has some relevant material for those who are interested.