kno*_*orv 28 clr jvm parrot perl6 raku
Parrot是最初为Perl 6设计的虚拟机.
Parrot VM提供哪些技术功能,如Java虚拟机(JVM)/热点VM和公共语言运行时(CLR)等竞争虚拟机缺乏?
Sch*_*ern 34
以下答案于2009年撰写.另请参阅raiph的2015年更新.
为了扩展@Reed并指出一些亮点,Parrot的操作码远远高于大多数虚拟机.例如,虽然大多数机器存储整数和浮点数,但基本寄存器是整数,数字,字符串和Parrot Magic Cookies(PMC).只是内置字符串是JVM的一步.
更有趣的是PMC,有点像JVM的对象类型,但更具可替代性.PMC是一个容器,用于所有其他更复杂的类型,你需要在一个真正的语言,如数组,表,树,迭代器,I/O等.PMC和各种内置的操作对它来说意味着语言编写器的工作量减少.鹦鹉不会回避实施语言的混乱但必要的部分.
我的信息可能已过时,但我相信操作码是可插拔的,您可以运送仅包含您的语言所需操作码的Parrot VM.它们也是可继承的,如果你的语言希望它们的数组与库存Parrot数组稍有不同,那么你可以做它的子类.
最后,Parrot不仅可以用于汇编语言(PASM),还可以用于略高级语言Parrot Intermediate Representation(PIR).PIR具有循环,子程序,局部变量以及一些基本的数学和比较操作,这是人们在编程语言中所期望的所有基础知识,而不会离金属太远.
总而言之,Parrot对语言设计者(由他们编写并为他们编写)非常友好,他们想要设计一种语言并尽可能多地将实现留给其他人.
Ree*_*sey 15
您可以在Parrot VM Intro页面上阅读大部分内容.
Parrot对JVM或CLR的主要优势在于它首先支持动态语言,并可能为动态类型语言提供更好的支持和性能.JVM和CLR都更倾向于支持静态类型语言,许多设计决策都表明了这一点.
我不太了解JVM和CLR,但我的建议是:
更新:这可能无关紧要,因为现在JVM是Rakudo Perl 6后端之一.请参阅JVM上的Rakudo Perl 6(Perl 6 Advent calendar 2013,第3天).
Parrot是最初为Perl 6设计的虚拟机.
现在有两个最初为Perl 6设计的VM; 承诺MoarVM始于2012年.
Parrot VM提供哪些技术功能,如Java虚拟机(JVM)/热点VM和公共语言运行时(CLR)等竞争虚拟机缺乏?
在本页的另一个答案中,目前(2015年4月)Parrot领导开发者Reini Urban提供了Parrot与JVM和CLR VM的简要比较.
根据Reini的说法,Parrot对MoarVM的一个关键优势是"有效锁定线程".
| 归档时间: |
|
| 查看次数: |
4757 次 |
| 最近记录: |