次の型シグネチャを使用して、SML でリストを出力する関数を作成する必要があります。
val printGenList = fn : ('a -> 'b) -> 'a list -> unit
「printGenList」は、関数 f とリスト l の 2 つの引数を取り、関数 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;