smlnj

    2热度

    2回答

    我对SML(来自java世界)和我所了解的 结构与java类相似&的签名是java接口。 SML结构中的所有内容都是不可变的。有没有可能有一个变量的值可以设置? functor Make(M : sig type data val callback : _ end) = struct val cb = M.callback fu

    0热度

    2回答

    的元组的列表搜索我是很新的SML/NJ和我种的丢失。我一直在努力实施是通过具有一定列出了它的元组的列表中去搜索功能,例如VAL X = [(5,2,[9,8,7]),(3,4,[ 6,5,0]),(11,12,[8,3,1])]。我想我的函数的元组的第一个元素添加到新的名单,一旦有我的目标数量和元组的元素3号之间的匹配。我尝试了几个实现,但目前为止它们都没有正常工作。 type id = int*

    -1热度

    1回答

    我有一个我想要解析为元组列表的字符串列表。 更具体: val strlist = ["1, 2, 3, 'hello', 4, 5, false, 6, [1, 2, 3], [1, 2]", "6, 1, 3, 'world', 4, 5, true, 4, [1, 2], [4, 7, 5]", . . .] : string list 到 val tupl

    0热度

    3回答

    我想编写一个样本函数,该函数接受任何类型的列表,并且仅当列表是一个实数列表时才返回头元素。 否则,函数应该给出错误信息 。 。 。 E r r o r:操作符和操作数不是。 。 。 datatype typeR = Real of real fun head(xs) = case xs of [] => raise List.Empty | Real (x::

    1热度

    1回答

    那些返回类型的区别是什么? val fn1 : int −> (int −> (int −> int)) val fn2: (int −> int) −> (int −> int) 这将创建类型的函数 int -> int -> int meaning int -> (int -> int) 是这样吗?没有支架,它们具有相同的含义!

    1热度

    1回答

    我是新来的SML,并不完全理解我的问题,虽然我确定我有错。首先,这里是我测试的两个简短功能及其描述。 MakeInterval - 注意到的自然数- [R,(也可用于RP)和自然数吨,并返回的时间间隔[T-R,T + R]。 fun MakeInterval(r,rp,t) = if r + rp < 0 then [] else t-r :: MakeInterval(r-1

    0热度

    1回答

    我有以下功能: fun IsDivisible(t, t2) = if t mod t2 > 0 then true else false; fun IsDivisibleFilter(ts, t) = List.filter(fn x => IsDivisible(x, t)) ts; fun IsDivisibleMap(ts, ts2) = map(fn x => IsDivisib

    1热度

    1回答

    我可以使用类型之前的类型和签名来专门化签名中的类型吗?这里有一个例子: signature A = sig type t type s end 我可以专注A通过以下? signature B = A where type s = t list SML/NJ和Mlton都抱怨t没有约束。

    0热度

    1回答

    嗨,我收到以下SML代码中的编译错误,有人可以帮忙吗? Error: operator and operand don't agree [UBOUND match] operator domain: 'Z list operand: ''list in expression: null mylist stdIn:4.15-4.24 Error: ope

    1热度

    1回答

    如何将buf转换为sml/nj中的Word8VectorSlice.slice?例如, val msg = "hello\n"; val buf = Byte.stringToBytes msg; (* how to convert to Word8VectorSlice.slice ?*)