El mié, 20-01-2010 a las 09:20 +0100, Stefan Marr escribió: > You mean how their approaches compare? (I would guess, there is no direct > involvement of people in both projects.) > > PyPy is a generator approach, your language specification i.e. the > interpreter is used > to generate a VM. > You use a high-level language i.e. RPython to implement a classic > interpreter, which is then transformed by a powerful tool-chain to your C > implementation (and a JIT). Stuff like GC is just generated for you. > The result is one specific VM, which is generated for your language. > > > With Parrot it is much like with a classic VM like JVM or CLR/.NET. > You are using one existing VM. > Language developers use the Parrot Assembly language (PASM) or the Parrot > Intermediate Representation (PIR) which can then be compiled to the bytecode > set. > Furthermore, they can extend the bytecode set with their own instructions > (primitives). > So, you are basically compiling your target language while using all the > runtime features of the Parrot VM. So, here the 'power' is in the VM, not in > a transformation tool chain. > > Best > Stefan >
Very interesting, thanks for the info. > > > On 20 Jan 2010, at 09:02, Stéphane Ducasse wrote: > > > stefan > > > > do you know how this is linked with pypy? > > > > Stef > > > > On Jan 20, 2010, at 8:50 AM, Stefan Marr wrote: > > > >> > >> On 20 Jan 2010, at 06:12, Miguel Enrique Cobá Martinez wrote: > >> > >>> Parrot has just been released: > >>> http://www.parrot.org/news/2010/Parrot-2.0.0 > >>> > >>> I would like to know, from the VM experts from the community, if this VM > >>> can be used to run Smalltalk. > >> Well, as someone mentioned, there seems to be Smalltalk implementation... > >> > >> But, probably it is hard to get it fast. > >> Parrot uses a very unique approach. > >> Actually, they try to provide a language runtime for all kinds of > >> languages, and the right tools to build them: > >> http://www.linux-mag.com/cache/7373/1.html > >> > >> Eliot mentioned primitives, well, there is no concept of a primitive in > >> Parrot. > >> Instead, they have a unification of bytecodes and primitives. The idea is, > >> to give you the tools to develop the bytecode you need for your language, > >> which can be loaded dynamically during execution. > >> It will be interesting to see, how they can get their JIT fast with this > >> strategy. > >> > >> Best > >> Stefan > >> > >> > >>> The site says that > >>> > >>> "Parrot is a virtual machine aimed at running all dynamic languages.". > >>> > >>> but I don't know anything about VM so this sounds to me a bit like black > >>> magic. > >>> > >>> Is there something in the squeak vm that is specific to the way > >>> smalltalk works or a generic virtual machine (maybe with a upper layer > >>> understanding Smalltalk specifics) can be used. > >>> > >>> Thanks for the answers > >>> > >>> -- > >>> Miguel Cobá > >>> http://miguel.leugim.com.mx > >>> > >>> > >>> _______________________________________________ > >>> Pharo-project mailing list > >>> [email protected] > >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > >> > >> -- > >> Stefan Marr > >> Software Languages Lab > >> Vrije Universiteit Brussel > >> Pleinlaan 2 / B-1050 Brussels / Belgium > >> http://soft.vub.ac.be/~smarr > >> Phone: +32 2 629 3956 > >> Fax: +32 2 629 3525 > >> > >> > >> _______________________________________________ > >> Pharo-project mailing list > >> [email protected] > >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > > > > _______________________________________________ > > Pharo-project mailing list > > [email protected] > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Miguel Cobá http://miguel.leugim.com.mx _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
