问题标签 [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.
multithreading - 使用 Ponylang 的无锁模型无法实现哪些构造?
Ponylang是一种无锁和无数据竞争的新语言。我的印象是,为了做到这一点,Ponylang 看这句话“如果两个线程可以看到同一个对象,那么 writes 必须禁止另一个线程的任何其他操作”,并使用类型系统来强制执行各种特殊情况。例如,有一个类型描述符说,“没有其他线程可以看到这个对象”,一个说,“这个引用是只读的”,以及其他各种。诚然,我对此的理解很差,而且 ponylang 的文档缺少示例。
我的问题是:基于锁的语言是否有可能根本无法翻译成 ponylang 的基于类型的系统的操作?此外,是否存在无法在 ponylang中转化为有效结构的操作?
ponylang - 如何考验演员?
如何测试演员?由于调用不是同步的,一条消息会导致发送多条消息,那么测试的方法有哪些呢?
例如,我如何测试我的演员发送了 3 条消息以响应另一条消息?
ponylang - ponylang - 我不知道如何转换类型
从helloworld开始,我试图通过制作一个应用程序来学习一些小马,该应用程序将用户输入的内容回显给用户。这行得通,除了 I 所在的那一行_env.out.print(_buffer)
。
我得到的编译错误是:
通过阅读github中的源代码,我认为Array[U8] 应该有资格作为 ByteSeq,所以我猜这是功能的问题。我已经尝试了一些东西,但我似乎无法将我的 ref Array 复制到 val Array 中。我得到的最接近的是let out: Array[U8] box = _buffer
ponylang - 如何将值强制转换为 Pony 中的字符串?
我正在尝试学习 Pony,出于显而易见的原因,我想做的第一件事就是打印值。
但是,它似乎不适用于大多数事情,例如:
给出错误:
我也试过:
但这给出了一个更丑陋的错误,说我需要一些ByteSeq
. 很好,但我如何获得其中之一?
ponylang - 具有构造函数的类的不同能力
Data1 和 Data2 的实例具有不同功能的解释是什么?
实例化 Data1 类的对象的行编译没有问题,但是 Data2 get 的行是错误说"right side must be a subtype of left side"。
ponylang - 'with' 结构类型和异常处理
以下代码无法编译,因为编译器认为“with”表达式的类型是 (U8 | None) 尽管我不知道它的主体会如何变为 None
但是,如果我将“else”部分添加到“with”中-类型的一切都会好起来的。但是编译器抱怨“尝试表达式永远不会导致错误”
有任何想法吗?
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 设置有问题。
有谁知道可能出了什么问题?