Hi. My 2cts (really)
 
> The cultural differences are completely irrelevant. If we produce a tool
> that's fast and efficient, and you can and want to use it, go ahead and use
> it. Nobody's going to stop you. And if you can't or don't want to use it, hey,
> not a problem, we've still got an interpreter *we* can use and nobody's lost
> anything. 'course, someone else might end up writing a Python compiler to it
> anyway. :)
 
Describing the problem of Parrot being a Universal VM, as the problem
of writing compilers, like a Python to Parrot compiler is misleading, IMHO.

I would not call Jython a Python to JVM compiler. A part of it 
is a compiler that produces JVM bytecodes. But most of it is
a Python Runtime for the JVM. The JVM out-of-the box is not a 
Python runtime, so isn't Parrot.

The real question is how much easy, fun
is to write a Python runtime for Parrot, what is the gain?

I think that from Perl point-of-view is easy to underestimate
the effort, Perl runtime is complicated but in terms of fast I/O,
fast regexp, interface with the OS, portability, "clever"
semantics

But many of these things are absent or separated from the core in Python
and the core is still involved, because Python is fully object-based
and a lot of things are first-class objects:
 modules, classes, functions, code, stack-frames...
In the last evolution one can even subclass built-in types, both in 
C and Python and attribute of objects can also be first-class objects: 
namely descriptors. And one should get the semantics right (I can
guarantee that, people are *very* unhappy otherwise)

To rewrite all of this C for Parrot seems more pain than fun.
Getting interoperability with Perl code seems also not trivial.
If the gain is in sharing extensions, maybe there are other ways...

There is a lot of energy around Perl6 and Parrot in the Perl
community - my impression -. Maybe there was a real need
to reimplement things ;) and it is really fun.

To get Python peoples involved, porting Python runtime should be easy
and/or fun, and this seems not the case.

<random>
IMHO, probably a successful UVM should allow to write the runtime of
the hosted languages in some middle-ground dynamic language offering
some core/common semantics, along the line of Smalltalk/Self 
and some Lisp systems. In Smalltalk/Self a big part of the runtime
is written in Smalltalk/Self. AFAIK there are and have been some
nice experiment of implementing other languages over them, like
Java/Smalltalk over Self or Java over Smalltalk.

Will it be possible to implement a Python runtime for Parrot in Perl6
without being a 2nd-class citizen wrt to performance?...

</random>

regards.

Reply via email to