我想写一个SML函数,它有两个参数,第一个是 int,第二个是列表的列表。目标是在第二个参数中的每个列表的前面插入第一个参数。例如,append_to_front(1,[[3,4],[6,8],[]])应返回[[1,3,4],[1,6,8],[1]]。 我的代码: fun append_to_front(a:int, L:int list list) =
if L = []
t
为什么编译? fun foo (h::t) =
h = hd(t);
但这并不 fun foo (h::t) =
PolyML.print (h::t);
print "\n";
h = hd(t);
? Value or constructor (h) has not been declared Found near =(h, hd(t))
V
我有一个函数可以从2个列表重建树。我在所有分支上返回一个列表,但是我收到了一个我不明白的错误。但我认为它与返回类型有关。 的错误是这样的: Can't unify ''a with ''a list (Type variable to be unified occurs in type) Found near recon
(::(preoH, preoT), ::(inoH, ...))
Ex
继suggestion使用嵌套结构的递归数据类型就像树一样,我尝试使所述rechaurive datatyep在测试程序中工作,但遇到(又一个,对我来说很神秘)错误。 我的计划是这样的: datatype 'a tree =
Leaf of { value : 'a }
| Node of { value : 'a, left: 'a tree, right: 'a tree }
我有一个正在正确工作的函数... 但是,不幸的是在显示它之前构造了一个很大的字符串。 我想显示每个字符串,而不是直接concatening人,但我不知道该怎么办呢? 下面是函数: fun getBlocked w =
case BlockingMgr.listBlockedSuccessors w
of nil => ""
| ws =>
concat (
我有像下面的SML代码。 fun fact(n) =
let fun f(n,g) = if n=0 then g(1)
else f(n-1, fn x=>g(x)*n)
in f(n, fn x=> x) end;
我想知道我的代码中需要多少空间来计算fact(n)。 它是否需要O(n)?我不完全清楚。