Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Perl Programming

Ponie: Perl On New Internal Engine 47

caseywest writes "Today at his State of the Onion speech during the 2003 O'Reilly Open Source Convention, Larry Wall announced the Ponie project (somewhere within his legendary humorous presentation). Ponie involves rewriting central parts of the Perl 5 interpreter to run on Parrot, the Perl 6 virtual machine, including a C API emulation layer to make existing XS code work. Arthur 'sky' Bergman is sponsored by his employer Fotango to develop Ponie. Currently, a press release and a FAQ are available. More details will be available in due time."
This discussion has been archived. No new comments can be posted.

Ponie: Perl On New Internal Engine

Comments Filter:
  • Scheme (Score:2, Interesting)

    by Skeme ( 687563 ) on Wednesday July 09, 2003 @02:44AM (#6398508)
    Last I heard, Dan Sugalowski said they planned to design Parrot so it could run Scheme code, as well as Python and Ruby, except it wouldn't be able to do continuations (which you need for Scheme). Anyone know more about this?

    Also Dan said that Parrot is more suitable for dynamically typed languages like those, while Mono and dot net are better for statically typed, like C# and Java. Anyone know more about that?
  • Re:Scheme (Score:3, Interesting)

    by toomuchPerl ( 688058 ) <xmalander@yahoo.com> on Wednesday July 09, 2003 @09:24AM (#6399668)
    Parrot is more dynamically typed, yes, but they also made the wrong choice when choosing a VM. They wanted to support dynamic languages, so they should've chosen a Scheme VM and modified it from there. Consider that Scheme and Perl have very similar semantics in many cases, and that a modified Scheme VM could easily run Perl programs, matching the Perl semantic model.
    A system that combined some of the semantics of Lua with Scheme would actually be the most suited to this type of task. If you don't know what Lua is, well, it has hooks that allow you to specify events which occur when certain things happen. Like, when a hash table is accessed, you can overload that behavior (which Perl has with TIE), or when an undefined subroutine might be called, you can override that behavior. (which Perl has with AUTOLOAD). Lua 5 just got coroutines, lexical closures, and tail calls - sounds an *awful* lot like Scheme, no? :)
    -toomuchPerl
  • Re:Scheme (Score:2, Interesting)

    by makapuf ( 412290 ) on Wednesday July 09, 2003 @10:06AM (#6399917)
    this blog [sidhe.org] seems to be very interesting about how and why continuations, coroutines, closures, and the usual suspects (microthreads, ..) will be implemented in Parrot, by one of the main contributor of Parrot (he wrote the book about perl6)

    So ... RTFB
  • by ichimunki ( 194887 ) on Wednesday July 09, 2003 @10:46AM (#6400205)
    Um. There are scads of Perl web development books written by people who DO NOT know what they're doing. And thousands more actual web developers working in Perl who don't know what they're doing as a result. I know. I used to be one of them. Language wars are a waste of time. The original post was probably off-topic, since this is not a general "criticize Perl" thread. Indeed, the sigil change issue has been answered for Perl 6. The sigils will no longer change. However, there are many of us who find the character indicates type characteristic of Perl to be distracting. In a truly OO language, this can only lead to pain and suffering. If Perl OO is to be more than a hack, the sigils have got to go.

    In any case, the concerns about context are completely baseless. So what? It's not like context is subjective in Perl. It's just a factor to deal with when programming. It makes the code more expressive with less effort. That's one of the stated goals of Perl: laziness. In this case, it's a great idea. Not one that is perfectly implemented in Perl, necessarily, but nonetheless a fantastic notion.
  • Re:Scheme (Score:3, Interesting)

    by Elian ( 10270 ) on Wednesday July 09, 2003 @04:12PM (#6402673) Homepage
    Choosing a Scheme VM would've meant we'd have chosen a VM written for a language that nobody in the perl internals development community is fluent in, and use it to implement a language that most of the folks I know of in the Scheme community view with a (at best) barely disguised loathing. Rolling our own was the least bad of the options available.
  • Re:Scheme (Score:2, Interesting)

    by toomuchPerl ( 688058 ) <xmalander@yahoo.com> on Wednesday July 09, 2003 @07:05PM (#6403926)
    What are these social, political, technical, and engineering reasons? Has this ever been discussed anywhere prior?

    Whether or not my perspective is wrong, my view is this:

    • Social and political reasons are really one and the same. Social reasons *are* political reasons, and vice versa.
    • The same ties in with technical and engineering problems.
    • What exactly do politics have to do with programming languages?
    • There are no engineering reasons to back down from anything, if everything you do is a kludge upon the old system. (flame coat on) See Perl 5 for example. :)

    Also, to reiterate, I'm not saying a pure Scheme interpreter. But the semantic model of Scheme matches all these languages very closely, and there are a good number of Scheme bytecode-based interpreters available. It makes sense to not only support Scheme, but to also seriously consider it from a design standpoint.

    Why is Scheme viewed as the ugly cousin, with Perl, Ruby, and Python ganging up? And more importantly, why do Ruby and Python communities look down so snobbishly upon Perl?

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...