问题标签 [ponylang]

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 投票
2 回答
951 浏览

multithreading - 使用 Ponylang 的无锁模型无法实现哪些构造?

Ponylang是一种无锁和无数据竞争的新语言。我的印象是,为了做到这一点,Ponylang 看这句话“如果两个线程可以看到同一个对象,那么 writes 必须禁止另一个线程的任何其他操作”,并使用类型系统来强制执行各种特殊情况。例如,有一个类型描述符说,“没有其他线程可以看到这个对象”,一个说,“这个引用是只读的”,以及其他各种。诚然,我对此的理解很差,而且 ponylang 的文档缺少示例。

我的问题是:基于锁的语言是否有可能根本无法翻译成 ponylang 的基于类型的系统的操作?此外,是否存在无法在 ponylang中转化为有效结构的操作?

0 投票
1 回答
264 浏览

ponylang - 为什么使用“iso”参数的示例?

在本教程中,iso变量的别名为trn

但是我想知道iso如果您无法从中读取变量,获取变量的实际用例是什么?

说,我可以做这样的事情吗?

0 投票
1 回答
168 浏览

ponylang - 如何考验演员?

如何测试演员?由于调用不是同步的,一条消息会导致发送多条消息,那么测试的方法有哪些呢?

例如,我如何测试我的演员发送了 3 条消息以响应另一条消息?

0 投票
1 回答
929 浏览

ponylang - ponylang - 我不知道如何转换类型

helloworld开始,我试图通过制作一个应用程序来学习一些小马,该应用程序将用户输入的内容回显给用户。这行得通,除了 I 所在的那一行_env.out.print(_buffer)

我得到的编译错误是:

通过阅读github中的源代码,我认为Array[U8] 应该有资格作为 ByteSeq,所以我猜这是功能的问题。我已经尝试了一些东西,但我似乎无法将我的 ref Array 复制到 val Array 中。我得到的最接近的是let out: Array[U8] box = _buffer

0 投票
1 回答
864 浏览

ponylang - 如何将值强制转换为 Pony 中的字符串?

我正在尝试学习 Pony,出于显而易见的原因,我想做的第一件事就是打印值。

但是,它似乎不适用于大多数事情,例如:

给出错误:

我也试过:

但这给出了一个更丑陋的错误,说我需要一些ByteSeq. 很好,但我如何获得其中之一?

0 投票
1 回答
167 浏览

constructor - Pony 构造函数是如何工作的?

看起来Pony 语言还没有在堆栈溢出方面取得很多进展,但你必须从某个地方开始......

这是关于 Pony 构造函数的非常有限的信息,这并不能帮助我理解我所看到的。

这是一个初始程序:

让我们将“create”构造函数重命名为“named”:

...我看到错误:

...这表明并非所有构造函数都是平等的。咦……?

因此,让我们撤消该更改。

现在让我们尝试使用零参数构造函数:

...现在我看到了:

它忽略了那个构造函数。

所以,让我们重命名前两个构造函数:

...现在我看到了:

不知道那是什么意思。

0 投票
1 回答
127 浏览

ponylang - ponylang:在另一个构造函数中调用构造函数方法?

ENV:小马驹 0.9.0

来自ponylang 教程

尝试以下,编译器抱怨:constructor with undefined fields

哪里可以得到准确的解释?

0 投票
1 回答
94 浏览

ponylang - 具有构造函数的类的不同能力

Data1 和 Data2 的实例具有不同功能的解释是什么?

实例化 Data1 类的对象的行编译没有问题,但是 Data2 get 的行是错误说"right side must be a subtype of left side"

0 投票
1 回答
62 浏览

ponylang - 'with' 结构类型和异常处理

以下代码无法编译,因为编译器认为“with”表达式的类型是 (U8 | None) 尽管我不知道它的主体会如何变为 None

但是,如果我将“else”部分添加到“with”中-类型的一切都会好起来的。但是编译器抱怨“尝试表达式永远不会导致错误”

有任何想法吗?

0 投票
1 回答
348 浏览

windows - PonyLang Windows CreateProcess FFI

我一直在尝试CreateProcessA从 Pony Language 的 FFI 中调用 Window。

我创建了一个 C 和一个 PonyLang 示例。C 示例效果很好:

我放在calc.exe当前目录下。这在 Windows 上完美运行。但是,我的 PonyLang 实现继续返回非零GetLastError

所以上面的代码是为 PonyLang 编译的,但GetLastError大多数时候返回 2。有时GetLastError返回 123。其他时候返回 998?有时错误代码不同,这似乎很奇怪。这些代码都意味着文件访问存在问题?

Calc.exe位于当前目录中(与 c 示例相同的目录)。

此外,不仅错误代码不同,而且 calc.exe 在 C 版本中执行(运行良好),但在 PonyLang 版本中没有。这让我相信我的 PonyLang ffi 设置有问题。

有谁知道可能出了什么问题?