问题标签 [polyml]
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.
ocaml - ML 中有 eval 吗?
ML 中有 eval 函数吗?
windows - 在 Windows 上运行标准 ML
我一直在寻找一些关于如何让 Standard ML 在 Windows 上运行的好文档。有人对此有很好的指导吗?
我曾尝试使用本指南在 cygwin 中编译 sml/nj:http ://www.smlnj.org/install/index.html
任何建议,将不胜感激。
conditional - Poly ML 中的多个条件
例如,如果我想定义一个函数,它在 a=b 和 b=c 时返回 true,如果在 Poly ML 中这些等式都不为真,则返回 false,我将如何编写它?我不确定如何同时做多个条件。
types - 是否可以检查 Poly ML 中的值是否具有特定类型?
在 Poly ML 中,如果 x 的类型为 'a,您将如何编写一个返回“true”的函数,如果不是,则返回 false?
sml - Does Standard ML support Unicode?
Does Standard ML support Unicode?
I believe it does not but cannot find any authoritative documentation for SML stating such.
A yes or no is all that is needed, but you must know for a fact. No guessing or I believe answers. An authoritative link would be better.
ml - 堆的 Poly/ML 运行时调整大小
我在 Poly/ML 中的堆调整大小的论文中读到了以下内容。但我不明白堆的大小是如何调整的?谁能更详细地解释一下?
在每次主要 GC(垃圾收集)结束时,都会调用 adjustHeapSize() 方法。此方法动态改变堆大小,因此有特定数量的可用空间。也就是说,假设成熟空间在一次 GC 后立即包含 l MB 的存活数据,则 adjustHeapSize() 将成熟空间大小更改为 K +l MB,其中 K 是预先计算的常数。K 是 gc.cpp 中的 majorGCFree 静态变量的值,设置为 Poly/ML 运行时开始执行时成熟空间的大小。
我了解每次 GC 后都有一定数量的可用空间。但是如何获得堆大小的下一个计算值?什么是 K 以及如何计算 K?为什么将其设置为K + l?
sml - Poly/ML 中的共享库
是否可以使用 Poly/ML 构建共享库?我希望能够C
为 Poly/ML 库创建 API,并从不同的编程语言(例如 Python)调用/加载它。有人尝试这样做吗?我知道这可以在 OCaml 中完成:
linux - 如何在 polyml 解释器中添加 readline 支持?
我发现这polyml
是可以在 Ubuntu 上轻松安装的 ML 实现(在存储库中命名为 polyml,可以使用 执行poly
)。我正在关注 Andrew Cumming 的A Gentle Introduction to ML。经过几分钟的polyml
解释器实验后,我发现它不支持 readline (按向上箭头键会产生^[[A)。
对于口译员来说,这似乎不正常。仅当我没有安装 readline 时才会发生这种情况,但我的 Python 解释器的行为并非如此。
sml - 如何在 SML 中将任何内容转换为字符串?
我正在尝试实现一个测试函数来比较并在它们不相等时显示错误消息:
不幸的是,如果我使用非字符串参数调用它,它就不起作用:
无法编译,报错信息为:
如何解决?
struct - 构造 Poly/ML 参数结构值
我想创建一个基于另一个可以切换其实现的结构的结构。
这个想法是我可以插入 Field 的实现(Reals 或 Rat,忽略低效的实现)。
我可以运行此代码 ReF.add(ReF.zero, ReF,zero)
,但无法运行ReF.add(0.0, 0.0)
(或RaF.add((0,1),(0,1))
)
为了克服这个问题,我创建了一个构造函数f: int -> field_types
,但我发现这不是那么优雅而且很麻烦。我可以为能够使用做任何事情ReF.add(0.0, 0.0)
吗?