2014.37: Inline::Perl5, C Globals in NativeCall, …

Not terribly much seemed to happen this week, except that the pretty amazing Inline::Perl5 module progressed a whole lot. Here’s the changes in the list format you’ve likely grown accustomed to:

  • On top of the features you can already see in its readme, Inline::Perl5 can also handle exceptions thrown from p5 code into p6 code and exceptions thrown from p6 code into p5 code using the regular eval/try-catch you’re used to
  • FROGGS added support for “cglobal” to NativeCall, so you can access global values that are offered by libraries.
  • FROGGS also made sure MoarVM works with the latest libuv and bumped the revision.
  • FROGGS also added automated travis builds to MoarVM, NQP and Rakudo.
  • grondilu gave Synopsis 99 an overhaul making sure lots of broken links work now.
  • lizmat subjected Proc::Async to lots of testing and wrote some specs, so that people will have some documentation to read up on when they see the changelog entry for it that we neglected to mention in the last release …
  • lizmat also worked on Str.lines, making it a whole lot faster.
  • thanks to lizmat Str.lines and IO::Handle.lines now take an optional named parameter “eager” that makes them 5x and 3.5x faster respectively. But if you loop over these lines, you’ll have to wait for the whole split to finish before your loop’s body runs for the first time.
  • another thing lizmat added is the %ENV named parameter for Proc::Async to override the environment variables.
  • yet another thing lizmat added is a term π to refer to pi.
  • finally, lizmat made Bags and Mixes give Pairs instead of just the keys when evaluated in list context (like when you “for” over them).
  • cognomial implemented the :args parameter for Grammar.parse.
  • PerlJam built a more efficient version of “samecase” (which transfers upper/lower case information from one string to another)
  • jnthn taught the MoarVM profiler’s allocation counter to also count things allocated by extops (our mechanism for a language implementation (like Rakudo Perl 6) to add some extra opcodes to the VM).
  • moritz transferred mathw’s “Form” module to the perl6 organization on github. retupmoca sent in a pull request to make it pass its tests again. Maybe – now that it’s more visible – more people will feel like hacking on it.
  • krunen added a termios binding to the ecosystem. This allows for nice things like enabling raw input mode …
  • moritz fixed segfaults when trying to send data on a closed socket.
  • TimToady worked a bit on reification (which is asking a lazy list to generate values) to improve performance and fix a certain bug you may have hit if you asked a lazy list to generate a huge number of elements.
  • TimToady also implemented the plan method on lists, which allows you to append a second lazy list to a lazy list without forcing all items to be reified (which is what “,” would do)
  • On our mailing list, Alex Becker gave helpful tips for making Rakudo Star more useful and easier to get into for newcomers and got in a pull request for modules.perl6.org to be more user-friendly.

As for me … I didn’t do anything Perl 6 related last week.

But I may or may not be playing around with thoughts relating to a project I’ll give the abbrevation “RoR”. The rest is highly classified! 😛

In related news, TimToady is “studying up” for the Great List Refactor, which is expected to make everything list-related much much faster soon™.

Anyway, I’m really looking forward to more performance tweaks and finally the GLR 🙂

Have a lovely week!


Got something to note?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s