• Website:
  • About: Freelance Perl/Testing/Agile consultant and trainer. See for our services. If you have a problem with Perl, we will solve it for you. And don't forget to buy my book!
  • Posted MooseX::Extreme Needs a New Name to Ovid

    On github, I've released MooseX::Extreme.

    It's based on years of experience being the lead designer of the Corinna project and trying to figure out how we can get a version of Moose which is safe…

  • Commented on A (not so) simple matter of privacy
    I think I may have misdescribed things to you (I was very tired when I was writing that email). The PSC suggested rolling out Corinna in stages. It's the Cor team which finally came up with method $foo () {...}...
  • Commented on I finally start to translate Japanese Perl Zemi to English.
    Yuki, this looks fantastic. I see that it starts with strict and warnings. Then I see it avoids bareword filehandles. I do see some places where the translation appears to have rendered Perl code that cannot run, but you've already...
  • Commented on A dream resyntaxed
    Extending the points that Damian has raised, one thing which has been brought up repeatedly about Corinna is a MOP. Most people don't need it, but when they do, they need it. Have proper class data declarators that are part...
  • Commented on A dream realized
    Hi Yuki, We're trying very hard to avoid overloading the meaning of existing Perl features, so we deliberately didn't go with the word package. The package keyword simply declares something as being in a given namespace. The class keyword in...
  • Commented on A dream realized
    Fritz, I think Dios is fantastic. However, making it and its syntax work for core in a way that P5P would be willing to commit to means stripping it down to an MVP, probably rewriting most of it in XS,...
  • Posted The Tau Station Kickstarter has gone live! (Oops) to Ovid

    Not words you want to hear late at night before you're going to bed: "we accidentally launched our Kickstarter."

    That's right, the Tau Station MMORPG Kickstarter is live and we didn't me…

  • Posted Cor - Background core Perl OO to Ovid

    So far, the work on Cor is going well. Here's the timeline.

  • Posted Cor - A proposal for core Perl OO to Ovid

    I've been working with Sawyer X and Stevan Little to try to bring OO into the Perl core. Most of this work is based on Stevan's work, with me trying to add a final "polish" layer to make it clean and still feel like Perl.

    It's being called "Cor" to distinguish it from current OO systems.…

  • Posted Data Science and Perl to Ovid

    Our company goes into many other companies and helps them build new Perl systems or fix old ones. Needless to say, we see how many companies work and a typical example is one of our clients I'll call "AlphaCorp." They use lots and lots of Perl. Their…

  • Posted Larry has approved renaming Perl 6 to raku to Ovid

    Via this comment, Larry has said:

    I am in favor of this change, because it reflects an ancient wisdom:

    "No one sews a patch of unshrunk cloth on an old garment, for the patch …

  • Posted Signatures vs. Methods to Ovid

    I've still been thinking about proper OO in the Perl core and hit an interesting case.

    Imagine the following, hypothetical Perl 5 OO syntax. Inheritance is handled via is and i…

  • Commented on Is Perl 6 Being Renamed?
    Shenanigans: thanks, fixed! :)...
  • Commented on Is Perl 6 Being Renamed?
    Christian: you may be happy to know that I've been working on a solution to this. No idea if it will fly, though....
  • Commented on Is Perl 6 Being Renamed?
    Chris: thanks for pointing that out. I've fixed the sentence: Over time, it became clear that though Perl 6 was in the same family as Perl 5, a straightforward migration path was unlikely....
  • Posted Is Perl 6 Being Renamed? to Ovid

    By now, many of you have seen the Perl 6 Github issue "Perl" in the name "Perl 6" is confusing and irritating. The issue suggested renaming Perl 6. While some may think that the name of the issue is trolling, or offensive, the…

  • Commented on The Perl Conference in Riga
    Thank you Wendy. We're actually friends on Facebook who, unlike many others, are real friends :) Give Liz a hug for me and I'll see you in a few short weeks....
  • Posted The Perl Conference in Riga to Ovid

    Short version: I'll be there.

    Long version: people have been asking me why I've not been as visible in the Perl community as I used to be (including at least one person asking if I was still involved in Perl). Well, that's a long story.

  • Posted Renaming modules from the command line to Ovid

    As we continue to build Tau Station, the free-to-play narrative sci-fi MMORPG (what a mouthful!), we find our code base is getting larger and larger. As with any large codebase, we've found ourselves sometimes mired in technical debt and need a way out.

  • Commented on Atomic Updates with DBIx::Class
    Thanks, Mark. I've updated the code to reflect that! Having no untrusted data going to this method isn't a good reason to skip that basic security check. (For those following along at home and don't know what this is about,...
  • Posted Atomic Updates with DBIx::Class to Ovid

    As we're building Tau Station, a narrative sci-fi MMORPG written in Perl, we've encountered any of a number of challenges, not the least of which is that this is a very "write-heavy" application. Further, because it's a universe where people interact,…

  • Commented on Enforcing Simple Standards with One Module
    Thanks Bill! That's fixed :)...
  • Posted Enforcing Simple Standards with One Module to Ovid

    It's fair to say that at our consulting company, we work with many clients who use Perl heavily. The "preamble" of their Perl code is either an ad-hoc mixture of features, or stock boilerplate like this which gets cut-n-pasted all over the place:

  • Commented on Improving Perl debugger variable output
    haj, Sorry, didn't see this comment earlier. Thanks for the patch! I've added it and credited you. Best, Ovid...
  • Posted Improving Perl debugger variable output to Ovid

    TL;DR: Drop my .perldb file in your home directory for a much nicer debugger experience.

    The kindest thing I can say about the built-in Perl debugger is that it doesn't drink even though it's old e…

  • Posted Tau Station--A Narrative MMORPG Written in Perl to Ovid

    We've released our first trailer:

    Play Tau Station for free and share the vide…

  • Posted My New Homepage to Ovid

    I've not been writing here much because I've been busy building Tau Station--a narrative sci-fi MMORPG. I'm also doing a lot of client work and that keeps me from sharing much here since I tend to take a bit more time when I write entries on this blog.

  • Commented on Which edges cases could perl shed to make it easier to parse?
    I would love to see some of this worked on. However, to do that, we'd have to get P5P to agree to a policy on how to introduce backward-compatible changes. That seems like the biggest first obstacle....
  • Commented on The Future of Perl 5
    Matthew, definitely something I'd love to see in core. Sooner or later we should stop saying "oh, install it from CPAN. Here's how you install CPAN ..." I loved what Damian did, but it uses inside-out objects. I always find...
  • Posted The Future of Perl 5 to Ovid

    No, I'm not speculating about where Perl 5 is going, but I was imagining a few minor (hah!) features that would make life much simpler.

    In fact, I was imagining a minimalist OO system with optional typing.

    The following is a simple LRU cache in Moose:

Subscribe to feed Recent Actions from Ovid

  • Damian Conway commented on A (not so) simple matter of privacy

    The $obj->&private_method() syntax has a
    few more benefits than just being available.

    For a start, it is analogous to the existing $obj->$subref() syntax.
    Which, incidentally, does not perform polymorphic dispatch either.

    It is also consistent with the Raku call-a-named-subroutine-as-a-method syntax

  • Aristotle commented on A (not so) simple matter of privacy
    # which fields are visible from this eval?

    Isn’t the answer simply “none”? It seems a trick question. Fields aren’t visible inside a sub, whether it’s lexical or not, no?

  • Salvador Fandiño commented on A (not so) simple matter of privacy

    Isn’t the answer simply “none”?

    Yes, that was the conclusion: it is not a good idea to let lexical subroutines, declared at the class top level, access the object fields.

    It seems a trick question. Fields aren’t visible inside a sub, whether it’s lexical or not, no?

    Well, IMO, they should be visible if the sub is declared inside a method. For instance, I would expect the following code to work:

    use Scalar::Util qw(first);

    class A {
    field $…

  • Aristotle commented on A (not so) simple matter of privacy
    I would expect the following code to work:

    Well, yes, obviously, a closure is a different kind of situation. The question would be what happens in a named sub declared inside a method – where I would expect the exact same behaviour that the “variable will not stay shared” warning cautions against currently. And I would expect the use of a lexical sub to cure the problem, the same way it currently does for regular subs.

  • Toby Inkster commented on A (not so) simple matter of privacy
    method $do_internal () {

    has been supported by Zydeco for over a year. documentation.

Subscribe to feed Responses to Comments from Ovid

About is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.