Unfortunately, timotimo++ wasn’t feeling well enough to do the Perl 6 weekly this week. So yours truly will be stepping in again. Best wishes to timotimo: hoping he will feel better again soon!
The FOSDEM videos of the Perl DevRoom have appeared online. I’d like to highlight the Perl 6 ones in this context:
- Fast Enough Perl 6 (tadzik++)
- Leapfrogging The Bootstrap (nine++)
- Getting Beyond Static Vs. Dynamic (jnthn++)
- Perl 6 – A Language For Mere Mortals (CurtisOvidPoe++)
- How (Not) To Create A Language Specification For Perl 6 – Lessons Learned (pmichaud++)
- all of the (other) presentations
Role conflict resolution, wraps and claim
skids++ has written a drive-by summary/followup thoughts on “the role debate”, after colomon++ had a blog post about it. Food for thought, indeed. Comments welcome, of course!
TimToady on a roll
While fixing many grammar related buglets, TimToady++ also made it illegal to create operators with spaces in them. A sane choice, if you ask me. He also specced and implemented three more pseudo-packages: LEXICAL (Contextual symbols in my or any outer’s lexical scope), OUTERS (Symbols in any outer lexical scope) and CALLERS (Contextual symbols in any caller’s lexical scope). The use of $/ as Perl 5’s input line separator, is now better detected and frowned upon with a clearer error message.
Array/Hash Internals Shakeup
It was discussed many times over the past weeks. This Sunday, lizmat bit the bullet by renaming all of the Rakudo specific array / hash access internal methods, and providing deprecation logic for the old method names. What does that mean? As a user, it shouldn’t matter much. As a module and/or internals developer, you may need to change some calls to these internal methods. Please check the ChangeLog for more information.
Nativecall C++ Integration
FROGGS++ has been steadily working on the integration of C++ with NativeCall in a branch. It is getting close to a merge, so hopefully we’ll be able to chalk up “C++ integration” on the list of NativeCall features next week.
The following features / bug fixes were implemented in the past week:
- PairMap (Hash with fixed set of keys on creation, but variable values)
- .pairup() (Create a list of pairs from a List of scalars, pairs, lists and hashes)
- UInt (sub)type and coercer for unsigned integer.
- is DEPRECATED works on subs/methods even if they don’t have phasers.
- MoarVM gc crash that was blocking work in Inline::Perl5 has been fixed.
- Most, if not all Expected Array[Str] but got Array[Str] errors fixed.
- my Role $a .= new does not error out anymore.
And of course, many, many other bug fixes and optimizations, both on the MoarVM as well as specifically on the JVM backend (Mouq++, avuserow++, nwc10++, donaldh++ on top of the usual suspects).
Please let me know of any errors, comments, suggestions, like always!