问题标签 [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 投票
2 回答
609 浏览

functional-programming - ML 新手:如何存储 a* a* a* 类型的返回值

我有一个返回 int*int 的程序

(示例用于说明目的): fun program(a,b) = (1,2)

我想做一些事情:

fun program(a,b)
if a = 0 then (1,2)
else
val x,y = program(a-1,b)
return (x-1, y)

基本上,我想操作返回的元组,然后返回它的修改。

谢谢

0 投票
1 回答
668 浏览

sml - 使用 SML 破解凯撒密码

我应该破解凯撒密码。我必须声明一个函数crack : int * int -> int,以便如果(k, c)是类型intk解密文本和c加密文本在哪里,调用将返回crack(k, c)密钥 (mod 10) n,这是获取. 一个例子是调用将返回 4。ckcrack(20458790, 64892134)

如果c不是 的正确编码k,则该函数不必实际工作。

我希望我在这里足够清楚。我了解这里的实际分配(我有 k 和 c,我需要 n),但我不知道如何在我的代码中显示它。

0 投票
4 回答
12902 浏览

sml - 如何在 SML 中操作元组列表?

我是 SML 的新手,我想知道如何在元组列表中获取元素。例如,在列表中[("abc", 4), ("def", 6)],您如何提取"abc"?我试过了

但我不断收到“未解决的弹性记录”。有什么建议么?

0 投票
1 回答
1507 浏览

sml - SML 和教堂数字

我有一个任务,我需要使用以下数据类型在 SML 中实现教堂数字:datatype 'a Church = C of ('a -'a) * 'a -> 'a

我必须编写函数 create :int -> 'a Church 和函数 ChurchToint 到目前为止,我有以下代码:

我知道我很接近。您能帮我正确实施吗?谢谢

0 投票
2 回答
922 浏览

functional-programming - SML 中的组合函数

嘿,我对 SML 和编程非常陌生,我想编写一个在列表中组合的函数,例如 [x1,x2,x3,x4,...] = [(x1,x2),(x3,x4) ,...] 非常感谢任何提示或帮助我朝着正确的方向前进。

0 投票
2 回答
1329 浏览

sml - 如何获得教堂数字的前身

我正在练习 SML,我正在做一个小任务,我们必须实现教堂数字,定义为:

示例值

我已经实现了以下功能:

SUC返回 Church 数字的后继。

现在我必须实现该功能

它返回 (predecessor, current numeric) 的元组。我不允许使用churchToInt,我应该直接使用 Church 数字。显然,这可以通过传递特定参数在一行中解决。

我一直在考虑SUC一遍又一遍地使用,直到我们找到正确的数字,但我无法比较 2 个 Church 数字。我完全坚持这一点。

0 投票
2 回答
10173 浏览

equality - 在 SML 中检查列表中的相等性

我想编写一个函数来检查 SML 中列表的相等性,例如:[1,2,3]=[1,2,3]; val it = true : bool

因此,我不想写下整个事情,而是想创建一个接受两个预定义列表并比较它们的函数,这样如果 list01 = [1,2,3] 和 list09 = [1,2,3] 那么 fun equal (list01,list09); 将返回 -val it = true : bool;

提前感谢任何想法/提示和帮助:)

0 投票
1 回答
530 浏览

tree - 删除/删除 SML 中的子树

嘿,我想编写一个函数 delete 给定一棵树,我可以删除树中的一个节点,所以它应该返回原始树减去该节点的节点和子树。每个提示都有帮助,并且提前感谢:)

0 投票
1 回答
2999 浏览

list - 从树中返回元素列表的 SML 函数引发异常

我有一个 SML 任务,其中一个问题是实现一个功能

到目前为止,我有以下内容:

基本上,findAll接受一个布尔函数并以异常的形式返回满足该函数的所有节点。我知道为什么我的代码不起作用,因为在原始(提高答案)中会有一个(提高答案),但无论哪种方式,这都不会编译。我想知道我应该怎么做才能解决这个问题。我不能调用获取所有元素的辅助函数,然后只调用异常,但是我应该使用携带值的异常。我也应该能够按顺序返回所有元素。

0 投票
1 回答
528 浏览

tree - 删除和添加节点到树

我有一个任务,我不知道该怎么做。我有一棵人的树,上面有他们的名字、出生和死亡年份。在这里想想家谱。我有一堆数据类型来处理年龄、姓名、树本身等,然后我有一堆人和一棵树。

数据类型是:

首先,我需要能够从这个位置删除某人以及它“下”的所有内容 - 因此删除“妈妈”将删除妈妈和她的父母、祖父母等。如果在该位置没有人被调用,该函数应该返回树. 它应该是这样的: remove : Tree * parents list -> Tree 并且调用是 remove(t, pos)

这就是我所拥有的,但它并不完全正确。有人告诉我,我可以用 4 行来完成。

我有一个想法:

但这是不正确的。我该怎么办?

我还应该能够将人 p 插入到位置 pos 的树 t 中 - 如果该位置不存在,它应该只返回树。插入:树*父母列表*人->树

我只是无法解决这个问题,我希望有人能够帮助我。我希望我已经足够清楚了(我知道它很长)。