问题标签 [sml]

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 投票
1 回答
717 浏览

list - 检查 sml 中字符列表列表的内容

我的问题就像这里的问题一样。

我正在处理一个 char 列表列表,我需要检查 1-9 在每个列表中使用一次,但在列表中的每个位置也使用一次。

我的代码如下所示:

但这仅检查 1-9 是否是列表的成员,而不是它们是否位于不同列表中的相同位置。

我有使用这个功能的想法:

(函数 poslist 应该返回列表 xs 的位置 n 中的任何内容,因此我可以隔离 char 列表列表中的各个列表),但是由于 poslist 返回一个 char 列表 rscheck 不能使用它,因为它需要一个字符列表列表。

1) 我可以改进 poslist 吗?

2) 如何修复 rscheck?

编辑

0 投票
2 回答
575 浏览

filter - 标准 ML(使用 MoscowML) 这个函数有什么问题?(筛选)

这是家庭作业的一部分,所以我的目标是了解为什么这是错误的。正如我之前提到的,我使用的是莫斯科 ML。

我得到的错误是:

我一直在阅读文档,但确实没有帮助。我真正不明白的是'b list 的来源。在我们的任务中,我们必须使用带有尾递归的累加器。我相信我的错误在于过滤器如何调用函数 f。Filter 将谓词作为参数, f 应采用列表和累加器,后者最初是空列表。

我试过像这样调用 f:f L [],但在其他示例中,我们实际上不必用它的参数调用 f,它以某种方式自动传递。

无论如何,任何帮助理解我的错误在哪里以及如何解决问题的指导将不胜感激。

-艾蒂

(如果有人可以给我任何关于解码类型表达式错误的提示,这也可能非常有益。)

0 投票
1 回答
2232 浏览

list - 从 SML 中的列表中提取元素

我试图从列表中提取给定的元素,但我得到一个匹配异常?

目标是让我的函数表现得像:

我正在尝试这样做:

但正如所说,我得到一个

有任何想法吗?也许我可以使用更多的 List 函数?我已经了解了 curry 函数,它应该将一个函数变成一个高阶函数,但我真的不知道它是如何工作的?

0 投票
1 回答
101 浏览

list - 从真实列表中保存索引

我正在尝试声明一个函数sort : real list -> int list * real list,该函数使用 mergesort 对列表进行排序,并返回一个 int 列表,其中包含预排序的各个数字的原始位置。

也许这个例子会更容易理解:

现在列表的排序非常容易,但我很难弄清楚如何让它记住原始位置,然后用它制作一个 int 列表。

帮助?

0 投票
2 回答
2493 浏览

types - Standard ML binary tree type

I'm studying ML in class and I've run into a homework problem I am stuck on. I've spent all day yesterday searching but made little progress and we did not talk about this in class, so I am hoping you guys can help me.

We are given:

Part 1. We are told we need to create another datatype named whichTree for a binary tree containing the values of type which where data is only at the leaves of the tree.

Part 2. We need to create a whichSearch function having type whichTree -> int -> bool returning true or false based on whether the int is in the tree.

This is what I have so far:

The problem I am now facing is this:

  1. My whichTree does not contain the type which. I am not sure how I can fix that.
  2. I should have my whichSearch function of type whichTree -> int -> bool but it is int * whichTree -> bool and am working on trying to figure out how to fix things. I am not sure how I would go about fixing this as I have to specify a value for i in whichSearch to search for. I'm searching on this but any tips would be great.

Can anyone help? If so thank you! And thank you to the guys who already responded.

0 投票
2 回答
5695 浏览

smlnj - 标准 ML 排列

我正在研究列表中所有值的排列的函数。

这是我到目前为止所拥有的:

输出:

输出应该类似于 [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]。如您所见,我在这里遗漏了一些东西。我相信问题是我的 3 没有被传递给旋转,因为旋转 3 [1,2] 是我的代码中缺少的内容,并且由于某种原因这里有两个 2 元素列表。

如何更正我的 perm 函数以正确显示输出?任何帮助,无论大小,都会对我有很大帮助。

0 投票
1 回答
1297 浏览

smlnj - 标准 ML 二叉树

我仍然有这个问题,所以我可以寻求更多帮助。

我们得到:

第 1 部分。我们被告知需要为包含“which”类型值的二叉树创建另一个名为 whichTree 的数据类型,其中数据仅位于树的叶子处。

我认为这将是正确的答案:

事实证明它不是我跑步时的样子:

我得到一个错误。

我能够弄清楚我可以做这样的事情:

或者

但这些对我来说似乎都不正确,因为在我的第一种情况下,我的数据类型名称中有一个 'a,而在我的另一种情况下,我说的是 int 的叶子,当我应该能够使用 which 来指定 string 或 int 时。

谁能告诉我正确答案是什么或为我提供一些帮助?

0 投票
1 回答
9520 浏览

smlnj - SML/ML Int 到字符串的转换

我有这个代码:

当我运行我的函数时,我得到输出:“32123)231)12)))”。

答案应该是“((32((123)(231)12)))”。

我已经尝试修改我的函数以添加 ( 在我能想到的每个地方,但我无法弄清楚我应该在哪里添加 "("。我在哪里搞砸了?

编辑:我相信我需要在某处使用 map 或 List.filter ,但不确定在哪里。

0 投票
2 回答
4367 浏览

syntax - SML 语法错误帮助

在以下代码部分中,我收到错误,尽管我使用了所有资源来研究它们,但我不确定为什么会得到它们。这是 SMLNJ 编码。

hw4.sml:339.5-433.6 错误:非构造函数应用于模式中的参数:DeallocComm hw4.sml:427.26-427.29 错误:未绑定的变量或构造函数:var

hw4.sml:430.31-430.34 错误:未绑定的变量或构造函数:exp

hw4.sml:612.14 错误:语法错误:插入 EQUALOP

hw4.sml:615.8-615.11 错误:语法错误:将 VAL 替换为 END

任何有关这些的帮助将不胜感激。

0 投票
2 回答
2434 浏览

sml - 使用 SML 模式时如何在 Emacs 中清除 SML 缓冲区。

我正在使用带有 SML 模式的 Emacs。有时我需要清理 SML 缓冲区。我怎样才能做到这一点。