Raku is a programming language that spent years in development under a philosophy of torturing the language implementor developer for the sake of the language user. This results in the language and its core classes behaving in a way that it is surprising — particularly to those coming from other languages — but also intuitive. The philosophy also carries over to those who develop modules as well, particularly as certain features in Raku allow for modules to integrate themselves deeply (and often transparently) into the language.
This lecture will provide examples of ways that Raku's elements work together to create surprisingly easy and intuitive ways to do things by showcasing modules like Cro, Red, and DateTime::Timezones. It will then show how module authors have managed to recreate much of the same and provide recommendations for future module authors on how to best integrate with Raku to surprise the user through apparent mundanity. This will be done first by showing how one could recreate the gather
/take
structure, and then creating a more practical module that replaces the .say
with localized variants while inside of a special block.
Speakers: Matthew Stuckwisch