2014.44: A continuous trickle of stuff.

Greetings, readers!

Last week saw the creation of the website http://perl6.guide/ (generic top-level-domains for the win!), which seems to have made quite a splash! Other than that, FROGGS has started building a “cpandatesters” web app. It is designed to smoke-test the ecosystem and receive reports from users who opt-in to the “panda report” feature. You can find that feature on the panda branch “report”, but without the service to accept the reports, it’s not that interesting. The reports would look something like this.

Still being frustrated from how hard it is to get an OpenGL-backed cairo renderered surface on GTK3, I started building a raw binding for SDL2. It contains a SDL2 version of the “shoot ’em up” I made for the APW, but since I procrastinated too much, it doesn’t yet render the player’s ship, explosions, or pretty laser blasts. Oh well. Before anyone attempts to write a game with that binding, be warned: it is very low-level and annoying to use. I’m going to write a more object-oriented binding on top of the existing module (or maybe as a replacement?) in the near future, though.

So, what else has happened? Here’s the list you’ve certainly grown accustomed to:

  • FROGGS implemented the close-pipe method that will give you the exit code of a program you’ve spawned as a subprocess with the “open pipe” method.
  • FROGGS added two-argument candidates for the min and max operators, resulting in a great speedup.
  • FROGGS also made perl6-m and nqp-m write out the profiler’s results when the script was exited with the “exit” sub.
  • I added the ability to nativecast a CStruct to a different CStruct, because I needed that to support SDL2’s Event structures.
  • lizmat spec’d and tested support for a “stopper” in the Scheduler’s cue method. This is a callable that will get called for each repetition of a piece of work that’s been cued to repeat and allows supplying a condition that’d kick that piece of work out. The code itself had been done by jnthn at some point in the past.
  • lizmat has been working on IO::Path. It’s going to turn into IO::Dir and IO::File (which both do the IO::Local) role. Another object may exist for symlinks. A third role will supply all operations for reading and writing. Most operations you may be interested in for file stuff will operate on just strings as paths, as well.
  • TimToady made using $a_string inside regexes much faster and fixed $an_array to stringify when used inside a regex.
  • a somewhat new community member named “jepaway” has been putting a lot of thought into Perl 6’s Date and DateTime stuff as well as timezones. As an early result, DateTime is now friendlier to subclassing.
  • Mouq made rakudo accept method calls directly following a class’ declaration, like in
    class :: { method foo { say "bar" }}.foo
  • The rather peculiar “winner” statement is now called “earliest”, which makes it a bit easier to understand.
  • When playing around with Farabi6, I found a rather painfully slow piece of code responsible for splitting a HTTP request’s header section off from its body. I was able to speed it up by about 300x quite easily. This makes startup times and reaction times of Farabi6 (and all other HTTP::Easy based HTTP Apps) drastically better.
  • On the topic of Farabi6, azawawi started integrating the Rakudo Debugger. So far all it does is give you buttons that proclaim “NYI!”, but I’m quite looking forward to seeing what it’ll look like 🙂

It hasn’t been a terribly busy week for me, but let’s see if I can’t turn my tiny game into something nice for the next post 🙂

That’s it for this post. Have a lovely week!


3 thoughts on “2014.44: A continuous trickle of stuff.

  1. great to see more bindings for C libraries in Perl6 — I really want to try it out, now. 🙂
    btw, GTK+ 3.15 added OpenGL support natively (at least on X11 and Wayland, we’re still looking for contributions on the Windows and MacOS X side of things), which means it should be trivial to start writing GL-based code with GTK+.

    • right; i’ve been told i could “just build a gtk from source” or “wait until february”; that didn’t sound like pleasant options for me 🙂

      • yeah, that’s the downside: it’s currently in development, so it’ll be released in a stable branch by next year.
        it’s possible to build the stack up to GTK+ using the jhbuild tool, and you get the very bleeding edge of the blade. 🙂

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