问题标签 [ml]
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.
sml - 在 SML 中将字符串转换为实数
我想将实数的字符串表示形式转换为实数类型。我知道我可以做到,Real.fromString("5.5")
但它不返回实数类型,而是我不能与任何其他实数相乘或相加的实数期权类型。
functional-programming - 我可以从 ocaml 顶层构建图形界面吗?
À 关于交互式顶层和图形 UI 编程的几个问题:
是否可以从 ocaml 顶层动态构建图形界面?
也可以使用图形库吗?
algorithm - 相互检查列表中的每个值
我正在使用 OCaml,并且我有一个列表,我需要在其中检查列表中的所有元素。该列表是单位列表,可以是基本单位,也可以是派生单位。基本单位是 m,s,g,派生单位是使用 m,s,g 的任何单位,例如 kg、min、ft、lb 等。
所以一个示例列表是 [lb; 英尺;米]。此列表无效,因为 ft 和 m 共享相同的基本单位:m。为了更清楚 [lb; 公斤; s] 将无效,因为 lb 和 kg 共享相同的基本单位:m。然而 [英尺; 小号;m] 完全有效。这些基本单位转换保存在散列中以供查找。
我的问题是如何相互检查所有单元。我试过使用折叠,但它让我的头受伤。谁能帮我吗?
functional-programming - 你会建议哪个英语教程学习 OCaml?
我想向初学者宣传 OCaml,我正在寻找好的英文教程;不是您只听说过,而是您实际尝试过并发现有用...
types - 变体还是多态变体?
我注意到,在我认识的 OCaml 程序员中,他们中的一些人总是使用多态变体(未声明的变体,以反引号为前缀),而其他人从不使用多态变体,并且更喜欢在类型中声明的变体。
除了性能原因(目前多态变体的编译效率低于简单变体),OCaml 专家开发人员如何在它们之间进行选择?
common-lisp - SML (Poly) 是否有类似 CL 的 REPL?
这是 Ron Garret 的“Lisping at JPL”中的一段话:
“调试在 1 亿英里外的价值 1 亿美元硬件上运行的程序是一种有趣的体验。在航天器上运行读取-评估-打印循环证明对于发现和解决问题非常宝贵。”
作为一个试图决定从哪里跳入的初学者,我倾向于 ML,因为前任教授对此赞不绝口,而且我发现许多将 Lambda 演算讨论与 ML 和 ML 相结合的书籍看起来相当理智。(我最终会教这个。)
那么,ML 是否有一个 REPL,就像 Lisp 一样,您可以在其运行时“添加更多代码”,即 Garret 先生价值 1 亿美元的硬件能否在 ML 上运行?
list - 标准 ml 排序 3 个元素
我正在尝试制作一个标准的 ml 函数,它以 3 个元素作为输入并返回一个从最小到最大排序的排序列表。我使用了 3 个辅助方法来获取最小、最大和中间元素。代码如下:
以下在处理整数时效果很好,但是当我将它们更改为实数时,辅助方法返回了正确的结果,但是在键入以下排序方法时出现错误(无法复制错误文本,所以我截屏了) :
代码中可能有什么问题?谢谢
另外,除了我在这里发布的方式之外,还有另一种对 3 个元素进行排序的方式吗?
types - 在标准 ML 中,如何定义 'a * 'a -> bool 类型的函数?
我正在尝试在标准 ML 中创建一个函数,该函数接受 2 个参数并返回一个布尔值,并且 2 个参数可以是任何类型,在其编写的规范中,'a * 'a -> bool
但每当我尝试它时,它都会自动生成 2 个参数整数。如何使函数采用 2 个类型为 'a.
以下是我试图实现的功能:
但是在编写了上述函数之后,我得到的是:
我想要的是这个:
我该怎么做才能让它发挥作用?
list - 从 OCaml 中的列表中返回元素列表
我是 OCaml 的新手,我现在正在尝试实现一个函数,该函数在 listx
的索引处返回给定列表的元素列表y
。
例如,该函数应执行以下计算:[5,6,7,8], [0, 3] => [5, 8]
我不确定如何在 ML 中存储临时变量,也不清楚它是如何工作的。不过,我确实知道如何从给定指定索引的列表中查找元素。
任何想法都会受到赞赏,但我想使用递归函数并避免使用该List
模块。
function - 最大对函数标准 ml
我正在尝试在标准 ml 中创建一个函数,该函数需要一个整数对列表,并且我应该返回一个包含整数对的最大元素的整数列表。(int * int) list -> int list
. 现在到目前为止,我已经编写了一个代码,但它不起作用,我似乎无法从它给出的错误中找出问题所在。
这是代码:
这是我得到的错误: