问题标签 [rakudo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
699 浏览

raku - 如何开始使用 Perl 6?

我想听听您对如何开始使用 Perl 6 的看法?应该使用在 Parrot 上构建的 Rakudo 还是更好地使用 Pugs 实现?

如果是 Rakudo,最好的安装方法是什么?Parrot 的月度版本,来自 Parrot 的 SVN,其他?

0 投票
5 回答
951 浏览

scripting - 在哪里可以找到 Perl 6 的演示/示例代码?

我有自己的 Rakudo 副本,我很想试驾一下。在浏览了 Internet 之后,我发现了一些很酷的 Perl 6 代码片段,但没有完整的脚本。任何提供实用 Perl 6 脚本的站点将不胜感激。

谢谢大家,Ehtyar。

0 投票
2 回答
284 浏览

raku - 在 rakudo perl6 中使用语法时遇到问题

最简单的语法用法给我编译错误。

像调用一样src/rakudo/perl6 simple.p6,它失败了

我尝试了许多具有相似结果的已知工作示例,因此我怀疑我的 perl6 设置不正确。

如果您在 perl6 中使用语法,请告诉我您的设置。提前致谢。

0 投票
3 回答
286 浏览

raku - 如何知道我正在运行的 perl6/raku 版本?

尝试-v切换,我得到了鹦鹉 svn 修订版:

但是我怎么知道rakudo 版本,avx.xx还是{some-git-hash}

谢谢,

0 投票
5 回答
3144 浏览

performance - 随着 Perl 6 实现的成熟,我们可以期待哪些性能提升?

每次我下载 Rakudo Perl 6 的新副本时,我都会运行以下表达式来了解其当前性能:

而且速度一直在增加,但每次计算都有明显的延迟(几秒钟)。作为比较,Perl 5(或其他解释语言)中的类似内容几乎立即返回:

或在 Ruby 中(也几乎是即时的):

将表达式重写为 Perl6loop最终的速度大约是减小范围的两倍,但对于简单的计算来说仍然是一个非常明显的延迟(超过一秒):

所以我的问题是,Perl6 实现的哪些方面导致了这些性能问题?这是否应该随着时间的推移而改善,或者这种开销是否是 Perl6 正在使用的“一切都是对象”模型的不幸副作用?

最后,loop构造比[+]归约运算符更快呢?我认为循环会导致比减少更多的总操作数。

编辑:

如果可以的话,我会同时接受mortiz' 和hobbs' 的答案。一切都被作为方法调用处理更直接地回答了为什么[+]慢,所以人们明白了。

0 投票
2 回答
312 浏览

raku - 当我尝试使用 Rakudo 运行脚本时,为什么会出现“除以零”错误?

我刚刚构建了 Rakudo 和 Parrot,以便我可以玩它并开始学习 Perl 6。我下载了 Perl 6 书,并愉快地输入了第一个演示程序(网球锦标赛示例)。

当我尝试运行程序时,出现错误:

perl6我在构建目录中有我的二进制文件。我在 rakudo 构建目录下添加了一个脚本目录:

如果我尝试从我的脚本目录运行一个简单的 hello world 脚本,我会得到同样的错误:

但是,如果我从它的rakudo目录运行它。

听起来我需要设置一些环境变量,但我不知道它们是什么以及赋予它们什么值。

有什么想法吗?

更新:

在这一点上我宁愿不安装 rakudo,我宁愿只从构建目录运行东西。这将允许我在尝试不同的 Perl6 构建时尽量减少对系统的更改(Rakudo * 很快就会推出)。

自述文件鼓励我认为这是可能的:

这将在当前(rakudo)目录中创建一个“perl6”或“perl6.exe”可执行文件。然后可以使用以下命令从构建目录运行程序:

重读后,我发现有必要在构建目录之外运行脚本之前安装 rakudo:

一旦构建完成,Rakudo 的make install目标会将 Rakudo 及其库安装到用于创建它的 Parrot 安装中。在执行此步骤之前,make上面创建的“perl6”可执行文件只能从 Rakudo 的构建目录的根目录中可靠地运行。执行后make install,可以从任何目录运行已安装的可执行文件(只要用于创建它的 Parrot 安装保持不变)。

所以看起来我需要安装 rakudo 才能玩 Perl 6。

下一个问题是,rakudo 安装在哪里?README 说明了用于构建的 Parrot 安装。

我在构建中使用了该--gen-parrot选项,看起来它安装到rakudo/parrot-install. 所以 rakudo 将安装到我的rakudo\parrot-install?

阅读 Makefile,支持这个结论。我跑了make install,它确实安装到parrot_install.

对于 Perl6 的新手来说,构建/安装过程的这一部分是不清楚的。我会看看我是否可以提供一个文档补丁来澄清事情。

在我的头顶上:

  1. make install在运行构建之外的脚本之前强调运行。此要求目前隐藏在段落的中间,并且很容易被浏览文档的人(我)忽略。

  2. 明确说明 with--gen-parrot会将 perl6 安装到parrot_install目录中。

0 投票
1 回答
170 浏览

sdl - 如何在 rakudo 中加载 parrot SDL pir 模块?

我不知道如何在 rakudo 中加载 de parrot SDL 模块。我找到了一个使用 pir 代码的示例。

但是...有什么方法可以使用 perl 代码将 pir SDL 模块加载到 rakudo 中?

0 投票
1 回答
665 浏览

perl - Rakudo Perl 中的套接字代码

我一直在尝试在 Rakudo Perl 中运行一些套接字代码(从http://github.com/rakudo/rakudo的存储库中全新构建),但IO::Socket::INET的实现似乎不完整。

我要运行的代码在这里:http: //github.com/carlins/irc-client/blob/master/lib/IRC/Client.pm

这是错误:

同样的事情也发生在由官方 tarball 构建的 Rakudo Star 上。指针?

0 投票
2 回答
359 浏览

perl - Rakudo (Perl6):还有哪些功能还不能使用?

Rakudo:有没有一个地方列出了所有还没有工作的功能?

0 投票
4 回答
865 浏览

perl - Perl6 是否支持与 Perl5 的 __DATA__ 和 __END__ 部分等效的东西?

perl6/Rakudo 是否有与 perl5__DATA____END__部分等效的东西?