A few nice things have been merged last week, but many things are still kind of in-between. Let’s see what we’ve got …
- arnsholt has merged the “jastcompiler” branch for our JVM backend. We used to have a parrot-backed NQP generate a text representation of the bytecode that needed to end up on a JVM-backed process when we were still bootstrapping the JVM backend. That was necessary, because we were using the ASM java library to generate class files. Nowadays, we have an NQP or even Rakudo running directly on the JVM, which means we don’t have to pass serialized (textified, really) data between two processes, so turning the bytecode into text and then parsing that text directly afterwards is no longer necessary. This branch does just that. It should give a noticable improvement on compile times, but I haven’t seen anyone post any precise numbers.
- jnthn felt it was the right time to merge the moar-conc branches into NQP and Rakudo. While they are not yet stable enough for production use, it is now easier for everyone to jump in and hunt bugs. Yes, this means you can now use Promises, Channels, Supplies, low-level Threads, … on MoarVM! However, the I/O subsystem has almost no locks in it, so doing I/O from multiple threads simultaneously is likely going to produce “interesting” results. The implementation of stdout has already got a bit of locking applied to it, so it shouldn’t break spectacularly to “say” multiple times in parallel, but other things still need looking at.
- The German Perl Workshop happened in Hannover and there were a few presentations on Perl 6. I don’t think videos have been uploaded anywhere yet, though. Additionally, Damian Conway held a presentation on Perl 6. On top of that, lizmat and wendy are giving talks in Cluj.PM. And Larry Wall is currently touring China. I’m not sure if he’s doing talks on Perl 6; he probably is.
- Newcomer simula67 has been improving the test suite with regards to sockets. I haven’t done much with Sockets in Rakudo, so I can’t judge the current state. But improvements in test coverage and robustness are always very nice to have!
- Moritz has turned a lot of failing tests into Todo’d tests and corresponding tickets in RT. This way we’ll get a state of the test suite where all known-to-work tests will pass and every improvement or regression will be very easy to spot.
On a less positive note:
- Rakudo * for the three backends is not likely going to happen this month; It would require point releases of NQP and Rakudo and we’re kind of not too fond of that idea. This month will see a regular Rakudo * with the parrot backend and next month we’ll try again – likely with much greater success.
- I spent all my time before the game development competition deadline trying to get PNG images loaded properly just to realize in the final moments that I’ve been linking SDL_image rather than SDL2_image. D’oh!
And some things that are coming up:
- jnthn said, he’ll have something showable for MoarVM’s type specializing subsystem this week.
- CPAN, PAUSE and Panda are moving towards a compatible position. There’s some exciting stuff coming up in this area!
- At the time of writing this post, arnsholt is working to refactor the way operators are defined in the grammar of NQP and Rakudo. It may give a slight improvement to compile times, but it’s mostly crufty legacy code being replaced by much saner code – and less code overall!
I wish you a pleasant week! You can play with MoarVM’s very latest development code and let us know what oddities you encounter!🙂