Back To Schedule
Friday, June 26 • 4:30pm - 5:20pm
Raku Keynote: RakuAST: a foundation for Raku macros

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Raku already invites the programmer to participate in compile time, for example by implementing trait handlers, customizing meta-classes, producing meta-objects in an EXPORT, or using BEGIN blocks directly. These are utilized by a range of modules, such as Red (an ORM), Cro (used for building web applications) and ASN::META (parsing an ASN specification and exporting Raku classes based on the specification).

The key limitation today is that there’s no document object model for Raku code itself. For example, it would be desirable in a web framework to have a Raku regex used for validation on the server side be translated into one usable on the HTML5 pattern attribute - however that would only be achieved today by a program choosing to re-parse the Raku regex syntax itself! Similarly, modules that produce Raku code and EVAL it would be far more robust if they could instead build a tree of objects representing the Raku program. Macros, too, will only reach their potential if the programmer can work with the AST passed in.

Therefore, I’m currently working on RakuAST, a user-facing Abstract Syntax Tree for Raku programs. In this talk, I’ll share the design and implementation progress on that so far, and some of the things it will enable.

avatar for Jonathan Worthington

Jonathan Worthington

Jonathan is a key contributor to Raku development. He is the founder and architect of MoarVM, serves as a lead Rakudo Perl 6 developer, and designed many of the Raku concurrency features. He is also architect of the Cro libraries for building distributed systems in Raku, and founder... Read More →

Friday June 26, 2020 4:30pm - 5:20pm EDT
Zoom Channel 1