我必须编写一个函数来打印具有以下类型签名的 SML 列表:
val printGenList = fn : ('a -> 'b) -> 'a list -> unit
“printGenList”将接受两个参数函数 f 和列表 l,并将函数 f 递归地应用于列表 l 的每个元素。
由于我是 ML 新手,我无法实现它,但我尝试了这段代码,它给出了不同的类型签名
fun printGenList = CONS(fib, fn => printGenList fib fibs);
where, fib is
fun fib a b = CONS(a, fn => fib b (a+b));
and fibs is
val fibs = fib 0 1;