Perl 6 前沿体验

12 views
Skip to first unread message

刘鑫

unread,
Jul 17, 2010, 8:10:33 AM7/17/10
to Idea-Torrent, Yeka
明天准备在广州讲的文案

--
 “那么告诉我,路西法·晨星,问问你们自己,你们所有人……若是十万天使军不再梦想天堂,地狱又有什么伟力?”——尼尔·盖曼《睡魔》
……

劉鑫
March.Liu
p6news.pdf

李海东

unread,
Jul 18, 2010, 11:07:02 AM7/18/10
to idea-t...@googlegroups.com
thanks. 花了10分钟看了下...不禁虎躯一振....

--
您收到此邮件是因为您订阅了 Google 网上论坛的“Idea Torrent”论坛。
要向此网上论坛发帖,请发送电子邮件至 idea-t...@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 idea-torrent...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/idea-torrent?hl=zh-CN 访问此网上论坛。



--
李海东

鼎捷软件

Albert Lee

unread,
Jul 18, 2010, 9:48:17 PM7/18/10
to idea-t...@googlegroups.com
第29页 的 “惰性”有点问题:

@l = 1..10  只是一个列表的定义,如果能这样:
@l = 1.. ;
才能算“惰性”。

我不知道perl6 里面是否支持惰性计算。 我想很难,这个要颠覆计算的整个方式。

2010/7/18 李海东 <hydo...@gmail.com>

刘鑫

unread,
Jul 18, 2010, 9:50:50 PM7/18/10
to idea-t...@googlegroups.com
在 2010年7月19日 上午9:48,Albert Lee <hanzh...@gmail.com>写道:
第29页 的 “惰性”有点问题:

@l = 1..10  只是一个列表的定义,如果能这样:
@l = 1.. ;
才能算“惰性”。

按文档(perl6 wiki book)的说明,p6的 1..10确实是惰性计算出来的,也可以用来计算无限列表。
还有几种惰性计算的形式,印象中有IO的read和lines,不过我在 2010-06 版本上只跑通了这个,其它要么出错,要么没来得及试验。

Albert Lee

unread,
Jul 19, 2010, 10:10:29 AM7/19/10
to idea-t...@googlegroups.com

第29页那个惰性有问题吧
1..10 只能算列表,如果可以这样才算惰性:
@l=1..

在 2010-7-18 下午11:07,"李海东" <hydo...@gmail.com>编写:

thanks. 花了10分钟看了下...不禁虎躯一振....

在 2010年7月17日 下午8:10,刘鑫 <marc...@gmail.com>写道:


>
> 明天准备在广州讲的文案
>
> --
>  “那么告诉我,路西法·晨星,问问你们自己,你们所有人……若是十万天使军不再梦想天堂,地狱又有什么伟力?”——尼尔·盖曼《睡魔》
> ……
>

>...




--
李海东

鼎捷软件



--
您收到此邮件是因为您订阅了 Google 网上论坛的“Idea Torrent”论坛。
要向此网上论坛发帖,请发送电子邮件至 idea-t...@googlegroups.com

...

刘鑫

unread,
Jul 19, 2010, 10:21:28 AM7/19/10
to idea-t...@googlegroups.com
囧你为毛发两遍

要取消订阅此网上论坛,请发送电子邮件至 idea-torrent...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/idea-torrent?hl=zh-CN 访问此网上论坛。

--
 “那么告诉我,路西法·晨星,问问你们自己,你们所有人……若是十万天使军不再梦想天堂,地狱又有什么伟力?”——尼尔·盖曼《睡魔》
……

劉鑫
March.Liu

刘鑫

unread,
Jul 19, 2010, 10:49:38 AM7/19/10
to idea-t...@googlegroups.com
perl6 的 wikibooks 上介绍了几种惰性的语法,链接如下:
http://en.wikibooks.org/wiki/Perl_6_Programming/Lazy_Lists_and_Feeds

包括这个:

Ranges

We've already seen ranges. Ranges are lazy by default, which means all the values in the range aren't necessarily calculated when you assign them to an array:

my @lazylist = 1..20000;   # Doesn't calculate all 20,000 values

Because of their laziness, ranges can even be infinite:

my @lazylist = 1..Inf;     # Infinite values!

可以看出它不是Haskell那种隐式惰性的,而是更像Ocaml只有明确要求的才会惰性计算。

Albert Lee

unread,
Jul 19, 2010, 11:04:12 AM7/19/10
to idea-t...@googlegroups.com
其实第二遍是先写的,不过是在手机上,发送延迟了。 所以就在电脑上又发了一遍。
Perl6 太妖,我不打算跟进了。

2010/7/19 刘鑫 <marc...@gmail.com>
Reply all
Reply to author
Forward
0 new messages