2013/2/10 Reini Urban <rur...@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. > http://www.inf.puc-rio.br/~roberto/lpeg/ > http://www.inf.puc-rio.br/~roberto/docs/ry08-4.pdf > 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. > -- > Reini > _______________________________________________ > http://lists.parrot.org/mailman/listinfo/parrot-dev
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. François _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev