Hague Grant Application: Implementation of Macros in Rakudo

Category: Grants

Comments (9)


I have long interacted with masak on #perl6 and believe him to be passionate and capable. Plus, finally (!) having an implementation of macros would be a boon to the Perl 6 community and would pave the way for implementations for the other Perl 6 compilers.

I fully support the award of this grant to masak.


I cannot wait already. Lots of compiler implementation already seems like it should have been done with macros. It's the missing piece and one of the key and killer feature of Perl 6 itself.

As for Carl's capabilities, I don't think he needs any comments to be considered a fitting candidate for this task. I'm both hands up for this grant.


Carl is a very valuable contributor to many Perl 6 projects, and I think he is well capable of both discovering mostly unknown Perl 6 terrain, and implementing it.

So please accept this grant proposal.


I think deliverables 1, 2, 3, 5, 6, 7 are low-risk as a first half and that 4 is high-risk and should perhaps be done in a separate project. I also believe macros should be used within Rakudo itself to improve parts of the implementation, and that this deliverable or goal should be added as further justification to the proposal.


Carl Mäsak is the right person for this; he has an excellent track record when it comes to pushing the boundaries of the Perl 6 specification and he has significant Perl 6 implementation experience.

My main concern with this proposal is that D4 could prove to be effectively impossible within the timeframe. I think there should be flexibility to drop it if this proves to be the case; even without D4 macros would still be very useful.

No comment on the funding rate.


I'm +1 to implementation of macros in Rakudo, it's a great and important feature in Perl 6. But, I'm not sure whether the amount request is correct or not, I'd like to see a reappraisal of amount request.


Macros are one of those under-explored areas of the Perl 6 specification that really need an implementation; all the parts of the spec we consider stable today are ones backed by implementations. Therefore, for the Perl 6 project as a whole, the work done under this grant would be highly valuable. Of course, for Rakudo it's also of great value: we get an implementation of macros, and have another very capable developer getting a deeper understanding of more areas of Rakudo's internals.

As Carl said in the proposal, and various others who have commented have pointed out, D4 is the most challenging part of the grant. If this had been proposed a year ago, I'd have been concerned about whether anybody could pull it off; with the architecture we currently have in Rakudo, I believe the problem to be vastly more tractable. That certainly doesn't make it easy to get right, but from discussions I've had with Carl recently, I'm comfortable that he's approaching the problem in the right kind of way. I'd rate D4 as tricky, but - with a little thought and patience - decidedly achievable.

So, overall I'd be delighted to see this work happen, and I'm comfortable Carl can deliver. So, the grant gets my vote.


It's a very worthy goal, and Mäsak is an excellent choice to get it done. I'm highly in favor.


Just wanted to leave some more detailed information about D4 and other related bits.

The tl;dr of it all is that things are increasingly coming into focus, and D4 is more pervasive and less extricable, but seemingly also more tractable, than I knew when I wrote the grant application.


Sign in to add comment