Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^3: YAP6: A p5 approach to p6

by ruoso (Curate)
on Dec 25, 2007 at 22:29 UTC ( #658988=note: print w/ replies, xml ) Need Help??


in reply to Re^2: YAP6: A p5 approach to p6
in thread YAP6: A p5 approach to p6

failed to mention that I doubt YAP6 is necessary. If it can produce a mostly working perl 6 implementation in a short time frame that is at least as fast as perl 5 - great. I suspect that this is not the case. I guess what I am saying is not all non-core projects are bad - but, for me, the jury is out on YAP6.

You know, that is exactly the point. Before I started thinking about YAP6, I was working to bootstrap KP6, as to release it from MP6 and make it self-hosting. But when I finally got a bootstrapped compiler, it was taking like 20 seconds to compile a simple "say 'Hello World'" line. That was when I realised that the problem was on the fact that KP6 was implementing a runtime enviroment on top of perl 5, which is by itself already a very heavy runtime, and when you stack them, the performance is absolutely unpractical.

At that point I started to take a deeper look at Parrot, that was also during YAPC::EU::2007, while I had a very good chatting with the parrot folks, and that was when I realised that Parrot has taken a very hard challenge, and that IMVHO, if I wanted something to happen faster, I would have to take a simpler challenge. And that's why YAP6 started in the first place. YAP6 is nothing but a port of the KP6 "object system" to C, as so instead of generating weird perl 5 code, KP6 could generate weird C code that would run faster. Of course generating PIR was a possibility, but (and this is completely my fault), I just couldn't get out with PIR and parrot internals requires skills that I don't have.

As the ROADMAP and the README says, YAP6 intends simply to be a runtime library for KP6 to be built upon. It is simply the KP6 object system translated to C.

daniel


Comment on Re^3: YAP6: A p5 approach to p6

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://658988]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (8)
As of 2015-07-06 10:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (72 votes), past polls