2016.33 Where did we go wrong?

Useful, descriptive errors are becoming the industry standard and Perl 6 and Rust languages are leading that effort. The errors must go beyond merely telling you the line number to look at. They should point to a piece of code you wrote. They should make a guess at what you meant. They should be referencing your code, even if they originate in some third party library you’re using.

Check out The Awesome Errors of Perl 6 by Zoffix! (see also the Reddit comments).

Other Blog Posts

Core Developments

  • Timo Paulssen fixed the memory hungriness and catastrophical slowness when trying to match a string with :i, especially on large haystacks.
  • Elizabeth Mattijsen made several types of usage of .splice at least 10x as fast. She also added another 29 ranges of unicode digit ranges to magic auto-increment / decrement.
  • Jonathan Worthington worked on making freeing of resources (such as a network port) more asynchronously reliable.
  • TimToady fixed many issues related to improper sinking and improper “useless use” warnings.
  • Elizabeth Mattijsen also implemented map logic for blocks that are guaranteed to not return a Slip. For instance ^10000 .map: *.Str
    will run 10%+ faster if you specify a return type for the block, e.g. ^10000 .map: -> \x --> Str { x.Str }.
  • Wenzel P. P. Peppmeyer implemented the :exists adverb on multi-dimensional subscript literals.
  • TimToady also fixed a problem with character ranges that would incorrectly match ä with a even when :m (aka ignoremark) was not specified.
  • Pawel Murias fixed the --profile feature, which was temporarily broken.
  • And as usual many other fixes, additions and other improvements.

Documentation Developments

Mostly housekeeping, gfldex++ tells me:

Ecosystem Additions

Winding Down

Quite some nice blog posts! And some nice fixes and improvements. Can’t wait to see what we will have next week!

Leave a comment