小编rob*_*obr的帖子

SML列表相等奇数

我有这段代码:

fun foldr2(f, x::xs) =
    if xs = [] then
      x
    else
      f(x, foldr2(f, xs))
Run Code Online (Sandbox Code Playgroud)

带有类型签名

(''a * ''a -> ''a) * ''a list -> ''a
Run Code Online (Sandbox Code Playgroud)

由于xs = []比较,它看起来很直接,它需要一个适用于相等类型的函数和一个相等类型的列表作为参数.但是,由于某些原因,它适用于输入,例如(op +, [2.3, 2.7, 4.0]),当在SML/NJ实时中不是相等类型时.任何人都可以帮助我解释为什么这种魔法发生?

sml smlnj

6
推荐指数
1
解决办法
708
查看次数

标签 统计

sml ×1

smlnj ×1