![]() |
|
Problems? Is your data what you think it is? | |
PerlMonks |
Re: How to Implement Perl 6 in Ten Yearsby audreyt (Hermit) |
on Apr 21, 2010 at 03:16 UTC ( [id://835936]=note: print w/replies, xml ) | Need Help?? |
Hi. This is 唐鳳, a.k.a. Audrey Tang. For the record, I think what chromatic wrote above contains a fair and accurate assessment to Pugs.hs (Perl6-on-Haskell). However, please note that it elided over our collective shift of focus to the Perl 5 runtime during 2006 on #perl6, which resulted in the first CPAN releases of Moose, Module::Compile, v6-alpha (now evolved into Perlito), Pugs::Compiler::Rule, etc. So while Pugs.hs was indeed suddenly unmaintained due to my '07 hepatitis outbreak, already by '06 we have redirected our main efforts into coding Perl6-on-CPAN. Concretely speaking, that means we took various Pugs.hs structures (Signatures, MetaObject logic, Grammar parser, etc) and coded counterparts for the Perl5 runtime. I'm very happy with what turned out - indeed MooseX::Declare and Perl 5.12.0 went way far beyond our original vision, in a very good way. As for Pugs.hs, the 6.2.x series has already fulfilled its goals. In order to code the 6.28.x series (compile-time gradual typing) without unreasonable pain, it required several significant changes in the host language (Haskell). Some of them were codified into Haskell 2010 (then known as haskell-prime), such as PatternGuards; some were implemented in GHC, such as Type Families and Quasi-Quoting. In addition to the language changes, a better theoretical understanding of GADTs (which was deep black magic when Pugs.hs 6.2.x first used them), of OO+Functional type inference (Martin Odersky et al), of sound STM semantics and gradual typing (Jeremy Siek et al), was also essential in coding the type system of Perl 6 as originally envisioned. Also notable was basic groundworks for 6.28.x such as Parsec Transformers, Dynamic-linkable binaries and Data Parallelism (to name a few) has gradually materialized as of early 2010, so folks who'd like to tackle type systems now have a significantly easier compilation-environment support than even a year before. However, speaking for myself, though Haskell became sufficiently attractive to implement compile-time type analysis for Perl 6, the success of Moose and Pluggable Keywords in Perl 5.12.0 has convinced me that we can also fruitfully implement such analysis directly in Perl 6, or in Perl6-flavoured CPAN modules, which is a much more straightforward way to amass a developer ecosystem than coding it in Haskell. As lambdamoose demonstrated, real programmers can write Perl 6 and/or Haskell in any language, particularly if that language is as polymorphically existentially recursive as Perl 5. :-)
In Section
Seekers of Perl Wisdom
|
|
什么是标准差 | 烟卡是什么 | 得瑟什么意思 | 孩子晚上磨牙是什么原因 | 安全期是什么 |
linen是什么面料成分 | 本番是什么意思 | 前列腺增生有什么危害 | 仙人跳是什么意思啊 | 猪男和什么属相最配 |
林彪什么时候死的 | 饕餮什么意思 | 什么是作风建设 | 黑色车牌是什么车 | 装什么病能容易开病假 |
lps医学上是什么意思 | 小脑的功能是什么 | 处心积虑什么意思 | 阴虱病是什么原因引起的 | 什么妖魔鬼怪什么美女画皮 |
胃酸胃胀反酸水吃什么药hcv8jop5ns6r.cn | 不干胶是什么xianpinbao.com | b类火灾是指什么hcv7jop7ns3r.cn | 灰指甲有什么特效药可以治好hcv8jop6ns0r.cn | 九王念什么hcv8jop6ns4r.cn |
脸油是什么原因导致的chuanglingweilai.com | 线人是什么意思hcv8jop0ns8r.cn | 9月30日是什么纪念日hcv8jop3ns6r.cn | 经常扁桃体发炎是什么原因hcv9jop6ns2r.cn | 孕妇吃什么能马上通便hcv9jop6ns6r.cn |
loa胎位是什么意思hcv9jop1ns6r.cn | 花枝招展什么意思hcv9jop7ns4r.cn | 什么是卵巢囊肿hcv7jop6ns5r.cn | 腔梗和脑梗有什么区别sscsqa.com | 吃什么药补肾zhongyiyatai.com |
感冒了吃什么食物最好hcv9jop1ns8r.cn | 白果有什么功效与作用hcv8jop8ns3r.cn | 双子座和什么座最配对aiwuzhiyu.com | 结肠炎吃什么药效果最好zhiyanzhang.com | 公务员和事业编有什么区别hcv9jop7ns1r.cn |