> Leon Brocard wrote: > > Oh, this happens to be a FAQ. The main reason is: > > > > http://www.parrotcode.org/faq/ > > I know the technical reason for a new VM, but this could've been a new > VM for Perl 6 only. What I'd like to know is the motivation to open up > the architecture and allow for plugable parser, compilers, bytecode > generators / optimizers, ... > > Thanks, > Sebastian > > -- > Sebastian Bergmann > http://sebastian-bergmann.de/ http://phpOpenTracker.de/ > > Did I help you? Consider a gift: http://wishlist.sebastian-bergmann.de/
I think that having the VM be not just for perl 6 was a great choice. The biggest benefit that I got out of dot net was how easily objects could be passed from one language to the next. The ability to move between the different languages seamlessly was wonderful, and definitely improved my productivity. The only problem I had with dot net, was that perlnet (by activestate) didn’t work well with dot net. I would have loved to write more of the program in perl, but passing objects and complex data structures was too much work, not to mention wrapping the program up in an installer. With perl 6 being able to compile to dot net, it should be able to deal with dot net objects and data types easier then perlnet can. That being said, many people who use perl only use perl (with a little c). Forcing perl 6 to run on dot net would limit what could be done in perl 6, or cause performance degradation. By providing a VM built with the idea of perl 6 running on it will offer a performance increase to people who only use perl. If everything goes well, other languages will be ported to parrot, and hopefully it will be easy to integrate all of the languages together. There are many other reasons why people would want to use different VMs, parsers, compilers, etc. It all goes backs to TMTOWTDI.