Day 51: Inline Haskell, s:perl5///

autrijus on 2005-03-23T16:39:35

I woke up to ingy's arrival on today afternoon. The first thing he said to me was "let's do an ext/YAML module together with inline Haskell!" We end up choosing the SHA1 extension, because it is easier to implement, while still having a significant practical value.

After three hours of intensive hacking, we have managed to work out the design of inline() directive in Makefile.PL, as well as the semantics of an inlined module. I have also managed to get require_haskell("") working, thanks to the DynamicLoader module. Unfortunately, ingy did not check in his Makefile.PL magic before he went to sleep, so we have to wait until tomorrow morning for a working implementation for inlining Haskell and C code -- I predict an explosion of extension authors once that is in place, and even more so when we figure out how to generate .pmc from such extension modules.

nothingmuch spent another full day hacking on currying, and posted a nice proposal on p6l for currying positionals. Simple named arguments like sub_call(name => expression) is also made to work today.

Stevan has almost completed his port of File::Spec to Pugs, lacking only s/// support for Perl5 regular expressions. At his prodding, I promptly hacked substitution support in, but that raised much confusions for the actual types and semantics for ~~ s/// calls. Stevan helpfully summarized the questions we have met; hopefully it will meet with suitable answers soon.

I think the audience of YAPC::Taipei are in for a real treat this weekend. :-)