问题标签 [mosml]

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 回答
689 浏览

sml - 了解用户定义的附加列表标准ml

我无法理解标准 ML 中列表的这种实现。这是它的定义方式:

附加列表是列表抽象数据类型的(简单)实现,它使构造成本低(O(1)),但破坏成本高(O(n))。'a alistNN 和 'a alist 类型定义如下:

'a alistNN 类型表示“非 nil”附加列表,而 'a alist 类型表示任意(nil 或非 nil)附加列表。

我对如何处理这些列表/制作这些列表感到困惑。例如,我必须编写一个定义为的函数:

在理解此列表定义时,我们将不胜感激。

0 投票
1 回答
555 浏览

functional-programming - 来自 SML 元组的“咖喱”

我正在尝试定义一个在 SML 中包含一个元组的函数包装器。

给我错误

应用于模式的非标识符。

我是 ML 新手,不知道为什么模式匹配fn不起作用。

我怎样才能使这项工作?

0 投票
1 回答
99 浏览

sml - 在标准 ML 中包装数据类型

此问题是此处发布的问题的后续问题:

了解用户定义的附加列表标准ml

我遇到的问题是我似乎无法弄清楚如何正确地将附加节点包装在 NonNil 中。我的代码是:

我知道这段代码可能没有正确附加,我只是想弄清楚如何为这个函数获取正确的返回类型。包装附加节点的正确方法是什么?

0 投票
1 回答
370 浏览

sml - 使用 foldl/foldr 插入函数

我一直在研究一个单独的函数,该函数返回一个列表,该列表在列表 l 的每个 k 元素之后插入元素 x (从列表末尾开始计数)。例如,单独的 (1, 0, [1,2,3,4]) 应该返回 [1,0,2,0,3,0,4]。我完成了该功能并使其工作如下:

我现在试图在没有任何递归的情况下使用 foldl/foldr 来简化函数,但我似乎无法让它正常工作。关于如何解决这个问题的任何提示/建议?谢谢你!

0 投票
1 回答
167 浏览

sml - 如何创建一个由函数表示的空环境

我在网上遇到了这个我觉得很有趣的问题,它有一个不错的解释,但我对解决方案感到困惑。所以给定

创建一个类型的值

这将是我们的空环境。我认为这是以下内容

它可能会返回 Notfound 名称异常,但我可能做错了,因为我继续得到

抱歉,如果这在 sml 仍然很简单,有人可以解释我将如何获得解决方案吗?

谢谢

0 投票
1 回答
244 浏览

sml - 标准 ML 中命题逻辑公式的大小

我正在研究这个问题,其中命题逻辑公式表示为:

我正在尝试编写一个返回命题逻辑公式大小的函数。命题变量的大小为 1;逻辑否定的大小为 1 加上其子公式的大小;逻辑合取和析取的大小为 1 加上它们的子公式的大小。

我将如何尝试解决这个问题?

0 投票
1 回答
771 浏览

sml - 在标准 ML 中的列表上映射函数

基于这个定义:

附加列表是列表抽象数据类型的(简单)实现,它使构造成本低(O(1)),但破坏成本高(O(n))。和'a alistNN类型'a alist定义如下:

类型代表“'a alistNN非零”附加列表,而'a alist类型代表任意(零或非零)附加列表。

我要求将地图函数定义为:

这在附加列表上执行映射。

我将其定义如下:

我不断遇到冲突的类型,尤其是:

知道可能是什么原因造成的吗?

0 投票
1 回答
154 浏览

sml - 在函数表示的环境中查找值

当要在 bst env 中找到一个值时,我所要做的就是将我正在寻找的值与节点上的根值进行比较

但是在代表 env 的函数中,而不是带有节点和叶子的 bst 中,find 函数的类型是

我了解了该函数的一般概念,但我对如何遍历环境以查找名称感到困惑。Bst 有一个节点和一个树状结构。如果可能的话,有人可以给出解释吗?

编辑于

我的工作实现就是这样

0 投票
3 回答
479 浏览

functional-programming - 是否可以在标准 ML 中创建“通用”函数?

我想创建一个remove_duplicates采用list任何类型的函数(例如可以是 anint list或 abool list或 aint list list或 a whatever list)并返回相同的列表而没有重复,这在标准 ML 中是否可行?

0 投票
1 回答
115 浏览

sml - Sml 元组长度

我对是否有可能获取 sml 中的元组长度感兴趣?!查看示例

我想要它来解决问题有一个问题说要获取学生列表,其中包含每个学生信息的列表,但是学生信息在两种类型中有所不同,有些就像

有些就像

所以它想返回学生列表中每个列表的第一个元素,如下所示:

这里有更多信息 M Molbdnilo @molbdnilo