sml

    0热度

    1回答

    我试图创建一个函数来总结SML中的一个整数的数字,但我得到以下错误。 Error: operator and operand don't agree [overload conflict] operator domain: real * real operand: [* ty] * [* ty] in expression: n/(d * 10) 我

    1热度

    1回答

    我试图用SML将一个值插入到“注册”中。如果列表(或寄存器)没有在该索引处定义,我需要在该索引之前创建一个0的列表。我尝试了以下方法,但无法使其工作。 fun storeInReg [] valIns idx = if idx = 0 then [valIns] else 0::storeInReg([] valIns (idx-1)) | storeIn

    0热度

    1回答

    有没有一种方法可以通过let绑定方式在SML中定义常量。 所以基本上我问的是如何为例子做不断x = 5,通过以下方式联系: let .... in ... end

    0热度

    2回答

    如果我有像下面的记录: type president = {name: String, age: int}; 可我只要使用表示相同信息的let约束力和一些简单的fun或fn?

    3热度

    3回答

    我试图在SML中使用foldr或foldl建立一个函数,它将返回列表中所有元素的逻辑或逻辑。 我试图以这种方式,使用和和或: fun band x = foldr (op and) true x; fun bor x = foldr (op or) false x; 而且还使用andalso和否则别指望。不过,我不断收到错误消息,例如: Error: unbound variable or

    0热度

    1回答

    我没那么熟悉SML但我已经写了下面的程序: datatype 'a bin_tree = Leaf of 'a | Node of 'a bin_tree * 'a bin_tree fun height Leaf (x) = 0 | height Node (l1,l2) = 1 + Int.max(l1,l2) fun is_balanced Leaf (x) = true |

    0热度

    1回答

    该函数将实数的列表保存到文件: fun writeReal (real, filename) = let val fd = TextIO.openOut filename val _ = map (fn i => TextIO.output (fd, Real.toString i^"\r\n")) real val _ = TextIO.closeOut fd

    2热度

    2回答

    如何引用从函子的结果派生类型的结构中使用的签名中的类型。下面是使用聚解释一个例子: > signature Res = sig type f end; signature Res = sig type f end > functor F (A: sig type t end) : Res = struct datatype f = None | Some end; functor F (A:

    4热度

    1回答

    标准ML中是否有可能重新导出作为函数参数接收的结构的一部分的数据类型的构造函数。某些代码可能会使这更容易理解: signature FLAG = sig type t end signature MEMBER = sig structure Flag : FLAG end functor Member(F : FLAG) : ME

    4热度

    1回答

    我一直在学习一些函数式编程,并决定拿起ML作为我的车辆这样做。只有几天,我拿起了ML,也许花了大约5-6小时的时间来解决一些问题。无论如何,关于我的问题。 通常,当学习一门语言时,我会通过一些项目欧拉问题来了解语法和操作。所以我一直在研究一个需要阶乘函数的问题。虽然我不断收到溢出错误,但通常要在其他语言中解决这个问题,我会添加一些记忆或者依赖标准库来避免它,但是我对ML的经验不足使得记忆似乎是陌生