2017.15 Kaboom! ⁽¹⁾

Zoffix Znet did a massive amount of work on the IO Grant. Some of the highlights:

  • Clean up &open and IO::Path.open.
  • Clean up and improve all spurt routines.
  • Give $*TMPDIR a container.
  • Implement IO::Path.extension 2.0.
  • Fix ambiguity in empty extension vs no extension.
  • Implement IO::Path.concat-with.
  • Remove IO::Path.abspath.
  • Make IO::Path::* actually instantiate a subclass.
  • Make IO::Path throw when path contains NUL byte.

All in all a very good weekly result!

Other Core Developments

  • Samantha McVey made literal string matching (aka nqp::index) 2x faster, by either using the Knuth-Morris-Pratt algorithm on Linux, or the Crochemore-Perrin algorithm on Windows and MacOS.
  • Jonathan Worthington added support for serialization/deserialization of native hashes, and wondered how we could have done so long without.
  • Elizabeth Mattijsen implemented support for (*-N) for .head and .tail. @a.head(*-5) will now produce all values of @a except the last 5. @a.tail(*-5) will now produce all values of @a except the first 5. And this is all lazy on Sequences.
  • Zoffix Znet also awesomified the unhandled Failure in DESTROY message, as well as implemented a skip-all option to Test‘s plan.
  • Lloyd Fournier fixed an issue with Code.ACCEPTS.
  • TimToady made sure that for $x() will no longer be a Perl 5 confusion type error. Instead, it will now only die if there is a space before the ().
  • Elizabeth Mattijsen also continued her work on set operators and coercions to / from Sets, Bags and Mixes. Some improvements are like 250x faster, others just a few % (but those were generally done to really hot code paths and/or to reduce memory pressure).
  • And many more improvements and smaller bug fixes.

Blog Posts

Meanwhile on Twitter

Meanwhile on StackOverflow

Ecosystem Additions

Winding Down

Apart from these visible results, a lot of work is being done by TimToady, Bart Wiegmans and Paweł Murias that hasn’t come to full fruition just yet. Yours truly is very anxious to tell about them in the (near) future! So check in again next week!

⁽¹⁾ With apologies to Jonathan Stowe.

Got something to note?