我对SML(来自java世界)和我所了解的 结构与java类相似&的签名是java接口。 SML结构中的所有内容都是不可变的。有没有可能有一个变量的值可以设置? functor Make(M : sig
type data
val callback : _
end) = struct
val cb = M.callback
fu
的元组的列表搜索我是很新的SML/NJ和我种的丢失。我一直在努力实施是通过具有一定列出了它的元组的列表中去搜索功能,例如VAL X = [(5,2,[9,8,7]),(3,4,[ 6,5,0]),(11,12,[8,3,1])]。我想我的函数的元组的第一个元素添加到新的名单,一旦有我的目标数量和元组的元素3号之间的匹配。我尝试了几个实现,但目前为止它们都没有正常工作。 type id = int*
我想编写一个样本函数,该函数接受任何类型的列表,并且仅当列表是一个实数列表时才返回头元素。 否则,函数应该给出错误信息 。 。 。 E r r o r:操作符和操作数不是。 。 。 datatype typeR = Real of real
fun head(xs) =
case xs of
[] => raise List.Empty |
Real (x::
那些返回类型的区别是什么? val fn1 : int −> (int −> (int −> int))
val fn2: (int −> int) −> (int −> int)
这将创建类型的函数 int -> int -> int meaning int -> (int -> int)
是这样吗?没有支架,它们具有相同的含义!
我是新来的SML,并不完全理解我的问题,虽然我确定我有错。首先,这里是我测试的两个简短功能及其描述。 MakeInterval - 注意到的自然数- [R,(也可用于RP)和自然数吨,并返回的时间间隔[T-R,T + R]。 fun MakeInterval(r,rp,t) =
if r + rp < 0 then []
else t-r :: MakeInterval(r-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