[UNSURE]Re: The Parrot is dead. Long live the Parrot?
francois.perrad at gadz.org
Mon Feb 11 09:16:49 UTC 2013
2013/2/10 Reini Urban <rurban at x-ray.at>:
> As you might have heard I started to work on my own vm, http://perl11.org/p2/
> which is basically the potion vm, to replace parrot and to target perl5.
> Only steal from the best.
> I see no way to fix the awful parrot calling convention, which was made worse
> and worse. And it's a good way to get out of the community mess, which broke
> more things than fixed.
> I believe p2 is already much better than parrot.
> Performance, tight and expressive data structures, object model, type support,
> jit, serialization, ...
> Just native threads and the GC need to take the one from parrot,
> because parrot's is the best I see around.
> (PS: Sorry diakopter, I have no idea why you bitch about parrot's
> threads and GC all the time. Even publicly. Your arguments that
> subtasks will lead to leaking proxies is worthless.
> We don't do subtasks, we thread away from the master thread.)
> And really, does anyone really believe that the jvm is a realistic perl6 vm?
> It's good like jruby, for server or long-running apps. But you cannot
> improve startup time.
> And you mess with Oracle.
> p2 runs circles around p5, parrot and the jvm, and has much better support for
> dynamic types.
> Currently I'm thinking about the parser. leg is nice, but has the
> limitation that
> I cannot easily add macros, because the leg packrat-based parser is just a
> static parser constructor. But I need a parsing library, where I can
> add non-terminals
> at compile-time (i.e. macro support). lua's Lpeg seems to be the best
> in this regard.
> Those grammers can also express the simplier perl-style regular expressions,
> so I don't have to link and maintain to the awful spencer mess.
> perl6 grammars are bit behind, and not practical to be bootstrapped from.
> Since the potion vm is very tightly coupled to lua, it should be quite easy to
> come up with lpeg for p2.
> For now macros and regex are left behind.
> If I don't get macros to work (dynamic parsing), I'm also thinking of
> the pir equivalent for the simplified vm language, used to implement
> some bootstrapping functionality. Such as
> the parser, object model translations and type-system adjustments.
> potion seems to be the natural fit, but something like nqp (not quite
> p2) might be a
> good idea also.
maybe, it is time for me to announce my new project TvmJIT based on
LuaJIT 2 (see http://github.com/fperrad/tvmjit),
even if I not yet write a kind of NQP.
More information about the parrot-dev