Parrot是最初为Perl6设计的虚拟机。
Parrot VM提供了Java Virtual Machine (JVM)/Hotspot VM和Common Language Runtime (CLR)等竞争对手虚拟机所缺乏的哪些技术功能?
发布于 2009-11-28 08:48:28
下面的答案写于2009年。另请参阅此。
为了扩展@Reed并指出一些亮点,Parrot的操作码比大多数虚拟机的级别要高得多。例如,虽然大多数机器存储整数和浮点数,但基本寄存器是整数、数字、字符串和Parrot (PMC)。仅仅拥有内置的字符串就是JVM的一个进步。
更有趣的是PMC,它有点像JVM的对象类型,但更具可互换性。PMC是all the other more complicated types的容器,您需要在真正的语言中使用它,如数组、表、树、迭代器、I/O等。PMC和各种各样的内置操作意味着语言作者的工作更少。Parrot并不回避语言实现过程中那些杂乱无章但又必不可少的部分。
我的信息可能是过时的,但我相信操作码是可插拔的,您可以发布一个Parrot,它只包含您的语言所需的操作码。它们也将是可继承的,如果你的语言想让它们的数组工作起来与普通的Parrot数组稍有不同,你可以这样做。
最后,Parrot不仅可以用汇编语言(PASM)编写,还可以用一种稍微高级的语言Parrot Intermediate Representation (PIR)编写。PIR有循环、子例程、本地化变量和一些基本的数学和比较运算,这些都是人们在编程语言中期望的基础,而不会远离金属。
总而言之,Parrot对语言设计人员(它是由他们编写并为他们编写的)非常友好,他们想要设计语言,并将尽可能多的实现留给其他人。
发布于 2009-11-28 08:04:19
你可以在Parrot VM Intro页面上读到很多关于这方面的内容。
与JVM或CLR相比,Parrot的主要优势在于,它首先被设计为支持动态语言,并且有可能为动态类型语言提供更好的支持和性能。JVM和CLR都更倾向于支持静态类型语言,许多设计决策都表明了这一点。
发布于 2015-04-12 11:03:07
Parrot是最初为
6设计的虚拟机。
现在有两个最初为Perl6设计的VM;提交给MoarVM是从2012年开始的。
Parrot提供了Java虚拟机(JVM)/Hotspot VM和公共语言运行时(CLR)等竞争虚拟机所缺乏的哪些技术功能?
在another answer on this page中,Reini with,目前(2015年4月) Parrot的首席开发人员,提供了Parrot和CLR的简要比较。
与MoarVM相比,According to Reini的一个关键优势是“有效的无锁线程”。
https://stackoverflow.com/questions/1811048
复制相似问题