in reply to Perl 6... do we need another vm?

NOTE: Emphasized text indicates an edit.

I notice that none of the people excited about using Parrot (including the FAQ-writer) seem to have addressed issues like maintaining a run-from-source availability of code like we currently have. Once you start requiring compilation to persistent bytecode packages, you lose the ability to just read the program any time you like. I've gotten to like that quite a lot over the years, and I'll miss it.

I understand why Parrot, rather than JVM or .NET/CLR — what I would like to hear more about is why JIT/interpreter implementation has suddenly become a second-class citizen at best, and more likely a non-citizen entirely.

print substr("Just another Perl hacker", 0, -2);
- apotheon
CopyWrite Chad Perrin

Replies are listed 'Best First'.
Re^2: Perl 6... do we need another vm?
by adrianh (Chancellor) on Sep 04, 2006 at 19:11 UTC
    Once you start requiring compilation to bytecode, you lose the ability to just read the program any time you like. I've gotten to like that quite a lot over the years, and I'll miss it.

    I expect that you'll rapidly see the evolution of reverse compilers - just like you did in the Java world - much easier to implement with high level VMs like Parrot.

      That's a comforting thought, and I suspect you're right, but there's still no substitute for running directly from source code.

      print substr("Just another Perl hacker", 0, -2);
      - apotheon
      CopyWrite Chad Perrin

        That's a comforting thought, and I suspect you're right, but there's still no substitute for running directly from source code.

        You seem to think that it's going to be a common occurrence for the byte code to be shipped separately from the source. Personally I doubt that will happen much.

Re^2: Perl 6... do we need another vm?
by chromatic (Archbishop) on Sep 05, 2006 at 07:07 UTC
    Once you start requiring compilation to persistent bytecode packages, you lose the ability to just read the program any time you like.

    I don't understand what you mean. You can run bytecode or source code with Parrot right now. I've done both today.

      I'm sure a lot of people paying for Perl will require bytecode compilation, especially if they're planning to distribute it as product, so the statement stands as written to some extent. I was not, however, aware that Parrot would run directly from source. I was under the impression it was a bytecode-only VM. Thanks for the info.

      print substr("Just another Perl hacker", 0, -2);
      - apotheon
      CopyWrite Chad Perrin