Perl 6 本周要闻(2001年5月27日 - 6月2日)

2001年6月3日

备注

您可以通过向 [email protected] 发送空消息订阅本摘要的电子邮件版本。

请将更正和补充发送到 [email protected],其中 YYYYMM 是当前年份和月份。

本周相对平静,3个邮件列表中共有92条消息。共有9个线程,27位作者参与其中。3个线程产生了71条消息。

Perl 虚拟寄存器(续)

Dan Suglaski 总结了 上周关于寄存器的讨论。

1) 配对寄存器这东西很傻。别提了。

2) 解释器将有一些整型、浮点型和字符串寄存器。由于这一点,某些操作将更快,并且它将使生成的 TIL 或 C 代码(当我们进行 TILperl 或 perl2c 版本时)更快,因为我们不需要调用操作码函数来将 3 和 4 相加...

3) 寄存器是否真的是基于堆栈的,这是一个实现细节。当然,它们将基于解释器的一些东西,因此将是线程局部。

4) 我们将有一种与寄存器实现无关的寄存器推送/弹出系统。(可能像 68K 系列,一次可以移动多个寄存器)

5) 字节码应该非常接近最终的可执行形式。我真的希望能够一次性读取字节码并开始执行它,而不需要更改。(我们最终将需要更改一些部分——这是不可避免的。如果我们能够将非修复部分映射到内存中,那将是极好的)

6) 我们可能正式将用于传递参数的寄存器与工作寄存器分开。我不确定这最终是否会有所帮助。(我可以预见大量的无意义的寄存器->寄存器移动,我不喜欢无意义的事情)

这引发了关于几个问题的各种讨论

  • 8位与16位操作码,其中8位操作码具有逃生操作码以访问扩展操作码功能。8位带逃逸的方案似乎是胜者。
  • CISC样式(高级)与RISC样式(低级)操作码。讨论了各种权衡,包括字节膨胀、处理速度以及转换为其他后端的容易程度。尚未达成共识。
  • 纯寄存器与寄存器/堆栈混合。实际上,即使是纯寄存器方案也是寄存器/堆栈混合 - 问题在于堆栈应该参与多少。)在这个问题上也没有达成共识。
  • 可变参数操作码及其处理方式。预期任何操作码都不应知道传递了多少个参数,但如果出现这种情况,Dan 建议将可变参数性埋得更深一层,而操作码本身只需接受一个参数 - 即包含参数列表的寄存器。

重审编码规范

Dave Mitchell 发布了 “Perl 源代码规范和指南” PDD 的修订草案。修订草案普遍得到接受(除了对一些标准(但相对温和)的制表符和空格以及括号对齐的短暂讨论),官方 PDD 提案将很快公布。

.NET

A.C. Yardley 指出 一些关于 .NET 的技术文档供参考。(链接到 这里这里。)

这是另一种语言特性,它是,还是不是呢?

David L. Nicol 沉思于一个新的神奇变量 it,它会自动引用最后一个在词法层面上使用的变量(或者也许是最后一个用作 definedexists 目标的变量)。大多数人觉得它(在词义上)太麻烦且含糊不清。

Perl 6 邮件列表的现状

截至目前,与 Perl 6 开发工作相关联的邮件列表共有 28 个,一开始看起来令人望而生畏。现在这个列表已经减少到 8 个当前正在使用的“开放”列表。(之前的列表可能在以后重新开放,并且可能会创建新的列表。关于 perl6-announce 的公告将按照常规方式发布。)订阅说明和存档链接可以在这里找到。

目前致力于 Perl 6 的活跃列表包括 -all-announce-build-internals-language-meta-stdlib

最后一个列表 perl-qa 涉及到 Perl 的一般质量保证,因此它也被包括在 Perl 6 开发列表中。


Bryan C. Warnock - 注释 - Perl 虚拟寄存器(续) - 重访编码规范 - .NET - 这是另一种语言特性,它是,还是不是呢? - Perl 6 邮件列表的现状

标签

反馈

这篇文章有问题吗?请通过在GitHub上打开一个问题或拉取请求来帮助我们。