公告:Rakudo Star - 一个可用、实用的Perl 6早期发行版

本文为个人翻译,仅作参考之用,一切以原文为准。

原文链接: Announce: Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6

作者:pmichaud

我谨代表Rakudo以及Perl 6开发团队高兴地向各位宣布Rakudo Star ── 一个可用、实用Perl 6早期发行版已于2010年7月发布。该发行版的tar源码包可以从 http://github.com/rakudo/star/downloads 下载。

Rakudo Star 着重打造Perl 6的一个尝鲜版本。我们知道它仍然包含缺陷,也慢于其应有的速度,且未实现Perl 6语言标准中的部分高级特性,但是 Rakudo Perl 6 之现状恰说明或为其开发应用程序或将其作为一门新型编程语言来探究的可行性(和乐趣)。一系列的"Star"发行版将力使Perl 6更加接近程序员,扩展Perl 6代码基础,以及赢得最终用户对Perl 6语言本身及其Rakudo实现的额外反馈。

在Perl6的世界里,我们将语言("Perl 6")和语言的特定实现(例如"Rakudo Perl")加以区分,"Rakudo Star"发行版由Rakudo Perl 6编译器的#31发行版[1],Parrot虚拟机2.6.0版[2],各式模块,文档,以及其他从Perl 6社区收集起来的资源所共同构成。我们拟将Rakudo Star按月发布,同时也将不时地发布反映重大变更及缺陷修复的特别版本。

本Rakudo Star发行版所含部分Perl 6新酷特性:

  • Perl 6语法("grammar")和正则表达式("regexes")
  • 正式参数列表和签名("signatures")
  • 元操作符
  • 进阶类型("gradual typing")
  • 强大的对象模型,包括角色("roles")和对象("objects")
  • 惰性列表求值("lazy list evaluation")
  • 多重分派("multiple dispatch")
  • 智能匹配
  • 边界("junctions")和自动线程化("autothreading")
  • 操作符重载(目前所支持的形式有限)
  • 内省("introspection")
  • 柯里化("currying")
  • 丰富的内置操作符、函数和类型
  • 互动的"读取-求值-打印"循环("read-evaluation-print loop, REPL")
  • 代码点("codepoint")级的Unicode支持
  • 可恢复异常("resumable exceptions")

本Rakudo Star发行版无法正确处理部分Perl 6关键特性,将在后续版本中修正。这样我们便不会将Rakudo Star作为"Perl 6.0.0"或"1.0"版。上述特性包括:

  • 嵌套包定义
  • 二进制对象,原生类型,pack和unpack
  • 指定类型的数组
  • state 变量
  • 线程和并发
  • 非代码点级别的Unicode字符串
  • 前、后约束,以及其他phasers
  • REPL中readline对Unicode输入的支持
  • 正则表达式字符范围<[...]>中的反斜杠转义
  • 非阻塞I/O
  • Synopsis 9的大部分
  • perl6doc和POD工具

我们于各处着手,使得Rakudo足够智能地告知程序员某特性尚未实现,但始终有所疏漏。欢迎提交有关功能缺失或实现不完整的缺陷报告。

有关Perl 6更多信息的链接,敬请查阅http://perl6.org,包括文档、程序示例、教程、参考材料、标准文档,及其他支持资料。

Rakudo Star 捆绑了若干模块,本发行版所含的模块列举如下:

  • Blizkost - 启用一些在Rakudo Perl 6中用到的Perl 5模块
  • MiniDBI - 一个Rakudo Perl 6简单的数据库接口
  • Zavolaj - 从Rakudo Perl 6中调用C库函数
  • SVG、SVG::Plot - 创建可缩放向量图形("scalable vector graphics, SVG")
  • HTTP::Daemon - 一个简单的HTTP服务器
  • XML::Writer - 生成XML
  • YAML - 转储Perl 6对象为YAML
  • Term::ANSIColor - 利用ANSI转义序列产生彩色屏幕输出
  • Test::Mock - 创建mock对象并检查什么方法被调用
  • Math::Model - 描述并运行数学模型
  • Config::INI - 解析并编写配置文件
  • File::Find - 在给定的目录中查找文件
  • LWP::Simple - 从Web中获取资源

这些并不算作"Perl 6核心模块",随Perl 6模块的开发成熟,Rakudo Star的未来版本中很可能将捆绑另一组模块,捆绑模块的推荐准则将随时间推进制定,同时其他Perl 6发行版可选择不同的模块和准则。有关Perl6模块的更多信息可于http://modules.perl6.org 找到。

Rakudo Star同时包含一份Perl 6指南读物的草稿──参看tar源码包中"docs/UsingPerl6-draft.pdf"。

开发组谨向所有使Rakudo Star顺利发布成为可能的贡献者、赞助者表示感谢。如果你想参与贡献,请参考http://rakudo.org/how-to-help,或向perl6-compiler@perl.org邮件列表提问,或加入我们在FreeNode上的#perl6 IRC频道。

Rakudo Star 在正常情况下将按月,或按缺陷修复、大幅改进之需发布。下一个Rakudo Star版本的发布日期拟定于2010年8月24日。

[1] http://github.com/rakudo/rakudo
[2] http://parrot.org/

Leave a comment

About pid

user-pic I blog about Perl.