Slashdot Mirror


Parrot 1.0.0 Released

outZider writes "Parrot 1.0.0 was released last night! The release of Parrot 1.0 provides the first "stable" release to developers, with a supportable, stable API for language developers to build from. For those who don't know, Parrot is a virtual machine for dynamic languages like Perl, PHP, Python, and Ruby, and is best known as the virtual machine for Rakudo, the reference implementation of Perl 6."

8 of 120 comments (clear)

  1. From the Release Announcement by Anonymous Coward · · Score: 0, Insightful

    You're packing a suitcase for a place none of us has been
            A place that has to be believed to be seen
            You could have flown away
            A singing bird in an open cage
            Who will only fly, only fly for freedom...

            What you've got they can't deny it
            Can't sell it, can't buy it
            Walk on...

            -- U2, "Walk On"

    Did Bono take time of from being a pompous narcisist to contribute to the project? What other reason is there for this inane drivel being reproduced in the release announcement?

    At least it's text only and we were spared a blast of bland, derivative corporate rock. I stopped reading after "U2", "Walk On" -- "Fuck Off" more like!

    1. Re:From the Release Announcement by chromatic · · Score: 2, Insightful

      What other reason is there for this inane drivel being reproduced in the release announcement?

      Tolkein didn't write a line of Perl 5 either, yet Larry quotes him in his release announcements. Epigraphs are long-established literary traditions.

  2. Re:Perl 6 reference implementation by outZider · · Score: 3, Insightful

    Surprisingly. The idea is to do a full language specification, so there can be many implementations of a language, similar to how Java (theoretically) works. This is also why there is an absolutely huge, yet incomplete, test suite. More tests are passing weekly, but more tests are being generated weekly.

    --
    - oZ
    // i am here.
  3. Re:Compiler for Perl? by hardburn · · Score: 4, Insightful

    Perl 5 isn't really bytecode at all. It basically just walks the parse tree directly.

    Perl 6/Parrot is bytecode just as those from Python or Java have come to expect. Perl 5 could be reimplemented this way, but nobody seems to want to bother.

    If your goal is to obfuscate your code to prevent people from copying it, please give up.

    --
    Not a typewriter
  4. Re:VM question by VGPowerlord · · Score: 2, Insightful

    I'm not very good with thedetailed explanation, as I am not a Parrot developer, but Parrot's VM is geared toward dynamically typed languages like Perl, Python, Ruby, and PHP. The JVM and CLR are geared toward static typed languages, which is why dynamic language ports to the CLR generally require code changes and cleanup to work properly under those environments.

    [Citation needed]

    So, any Jython/IronPython or JRuby/IronRuby people around to share their insights?

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  5. Re:VM question by Anonymous Coward · · Score: 1, Insightful

    How's TurboVM different from LLVM, which I believe has the same goals?

  6. Re:I can't believe it! by Anonymous Coward · · Score: 1, Insightful

    The paper is a case for interpreted register virtual machines, but it only makes a passing reference to virtual machines with just-in-time compilers.

  7. Re:I can't believe it! by Anonymous Coward · · Score: 1, Insightful

    As for the JIT comment, most of the Java code I use on a daily basis (Eclipse, JIRA) suffers from extreme lurch.

    Swapping. The Windows VMM is extremely aggressive, swapping out any memory that hasn't been accessed recently, even if that memory isn't needed by another program. Unfortunately, this plays out badly when the garbage collector comes along and tries to scan the heap. The result is a lot of thrashing.

    Linux doesn't have nearly the same difficulties with Java "lurching" as Windows does, because the Linux VMM is a bit more liberal in letting memory hang around. (Though Eclipse is likely to be a bad test case. The SWT framework isn't as optimized on Linux as it is on Windows. Try running Netbeans on both and see the difference.)

    If you think about it, there's no conceivable way that slower CPU execution can lead to long, intermittent pauses of the type you describe. Poor Virtual Memory Managers, however, are an exact fit.

    Windows VMM has been improperly tuned for years now. Microsoft has not recognized that modern PCs have a LOT more memory, leading to excess swapping. Vista supposedly makes an effort to fix this issue, though I have not personally tested it.