2018.12 Remotely Edument

The Perl 6 Team at Edument has been quietly working on remote debug support for MoarVM, the most developed backend for Rakudo Perl 6. Jonathan Worthington describes in a blog post (Reddit comments) why and how this new feature came to be, and how stable it is. The current set of features at least include:

  • Suspending and resuming all threads, or individual threads.
  • Getting stack traces of suspended threads.
  • Setting breakpoints and getting notified if they are hit (and, optionally, suspending execution).
  • Reading the lexical variables of a callframe, object attributes, array and hash elements.

Timo Paulssen has been working on the Perl 6 language part of the remote debugger: App::MoarVM::Debug, which currently is still a little rough around the edges, but since it is an ecosystem module, can be updated / fixed / improved without needing a Rakudo Perl 6 compiler release!

Truly exciting times for Perl 6 core developers, and everybody else who is getting their work done using Rakudo Perl 6!

Rakudo Compiler Release 2018.03

Samantha McVey created the 2018.03 MoarVM release, and Aleks-Daniel Jakimenko-Aleksejev used that as a cue to do the 2018.03 Rakudo Compiler Release. Which Claudio Ramirez then took as a cue to create new Linux packages. Good work all around again! Only one release to go before the next Rakudo Star release!

Javascript backend progress

Paweł Murias reports on the progress he’s made on the Javascript backend for Rakudo Perl 6: a lot of refactoring to make it more compatible with the MoarVM and JVM backends. Making precompilation work while being able to introspect the original source code, e.g. when an execution error occurs. Some of the work is now unearthing bugs on other backends, which is always a good thing!

Other Core Developments

  • Ticket status of past week.
  • All of these fixes made it to the 2018.03 release, unless otherwise noted.
  • Samantha McVey added proper support for replacements in decodestream for windows1251/2.
  • Daniel Green added many, many more JIT-templates for better JITting of nqp::ops.
  • Timo Paulssen created the initial version of the new remote debugging support for MoarVM over the past months, and he continued development / debugging the past week.
  • Stefan Seifert made sure that precompiled files using NativeCall no longer contain absolute paths: this should make packaging of Rakudo Perl 6 easier for Linux distributors, such as openSUSE. He also made NQP module builds reproducible. This means it can now much more easily be packaged (some distributions require reproducible builds), but it also means that simple rebuilds (without source changes) will no longer lead to “Missing or wrong version of dependency” messages (this did not make it to the 2018.03 release).
  • Elizabeth Mattijsen focused on some general improvements that would help in the serial pre- and post-processing of hyper and race.
  • Jonathan Worthington fixed a pesky spesh bug related to how the first argument to a Block was incorrectly considered to be constant (the invocant if the Block happens to be a Method). He also made sure that samewith can never be inlined.
  • Will Coleda worked on indentation in pod tables.
  • Zoffix Znet fixed many, many bugs and release blockers. He e.g. fixed the discrepancy between say and note with regards to the handling of Junctions.

Other Blog Posts

Meanwhile on Twitter

Meanwhile on StackOverflow

Meanwhile on FaceBook

Perl 6 in comments

  • Subclassing and parameterizing grammars by b2gills.
  • Backward compatible syntax by bmn__.
  • Completely different language by smcl.
  • Changed much less by bhaak.
  • Hygienic macros by kamaal.
  • Indirect influences by lispm.
  • More readable pattern matching by dash2.
  • Perl 6 Modules

    It’s been a while since Perl 6 CPAN modules (now at 1064 distributions) were mentioned in the Perl 6 Weekly. From now on yours truly will be reporting on new and updated Perl 6 modules. To catch up, here’s a list of 68 new Perl 6 modules uploaded to CPAN in 2018:

    The following 29 Perl 6 modules have been updated at least once in 2018:

    Winding Down

    Wow. What a week! Hope this wasn’t too overwhelming / boring for the reader. Sometimes less is more. Don’t worry, I don’t think we will beat the number of uploads of the past 11 weeks in the coming week. So the module listing will be a lot smaller in the next Perl 6 Weekly. Or will it? Only one way to find out. See you next 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