On the relationship between p5-MOP and Moe

I was asked on twitter recently what impact my restarting the p5-MOP project will have on Moe. My response was basically that my time would be split between the two projects, so momentum would probably slow. But that's actually not true, my time right now is completely focused on p5-MOP, and Moe is kind of on the back burner (for me at least, the other contributors need not wait for me).

But this question got me thinking, specifically thinking about the relationship between these two projects.

I realize now that when I started the p5-MOP project I was lacking some very crucial knowledge and experience. I had spent the last 7 years just building features on top of a language, and really had no experience building them inside of a language. I can see now that my approach reflected that lack of knowledge and experience, and that it ultimately lead to the issues that suffocated that project.

By starting completely fresh with Moe I believe I was able to gain some insight into how one goes about constructing a language from the inside out. I realize of course that hacking a bunch of Scala code is radically different then hacking the C code that is found in the perl core, but for me it was more about the change of perspective then anything else. And this new perspective is what has driven my new approach to the p5-MOP. So I guess you could say I never really stopped working on p5-MOP, just took a rather long and indirect route.

BTW, I do plan to blog more about the details of this new approach, but for now I need to work on getting Roles into the prototype (starting first by reviewing the work Toby Inkster did this weekend).

Leave a comment

About Stevan Little

user-pic I am the original author of Moose and am (again) working on the p5-mop project to bring some of the core features of Moose into the core. I am also conducting a thought experiment called Moe to see what an Ultra Modern Perl 5 would look like.