eyepopslikeamosquito's list above might lead some to think that the P6 spec, and Rakudo implementation, don't (aspire to) support Textual and Procedural macros and that their macros don't (aspire to) cover the ground that Lisp macros cover. So, for the record, although this is mostly OT:
| [reply] [d/l] |
Perhaps with an agreed-upon Perl 6 spec we can eventually get the same backported into Perl 5 ;-)
| [reply] |
I'm not aware of a compelling reason to wait for 6.0.0. cf Moose which used P6 OO design as-it-was-then as its starting point.
I think a one hour review/consideration of P6 macros as they are now would probably be worthwhile for anyone considering the design of a macro facility for P5 today, even if their conclusion is "we can't use any of this in P5". The heart of the Macros spec is in the Macros section of the Subroutines spec, so it's fairly easy to review the overall design. And the basics, plus hygiene, have already been implemented in Rakudo, so it's easy to try it out too, eg by using the online evalbots on #perl6. I'd be happy to provide further pointers if you or anyone else expresses interest.
Another possibility I'm particularly curious about is ways in which P5 and P6 can leverage each other to create a greater Perl. While I don't currently see a way to do this in relation to macros, perhaps someone more creative than I could use Inline::Perl5 and/or v5 to bring some macro magic to P5.
| [reply] |
Actually thinking of something like a Lisp macro, in particular being self-processed source-code not merely on the textual level but on a level higher than that (below the perl 6 macro level though)
In this specific case, my thinking is to create a text string and eval it and see if that is cleaner. But it would be nicer to be able to process statements of perl as statements of perl, not as strings which will hopefully compile.
| [reply] |