1

署名が次のようになるように、MLで多形関数を記述する必要があります。

sig4 = fn : ('a -> 'b -> 'c -> 'a) * ('a -> 'b) -> 'a -> 'c -> 'b -> 'c -> 'a

私の現在のバージョンは次のとおりです。

fun sig4 (f, g) a c b =
    if 1 > 2 then g(f(a) b c)
    else if 2 > 2 then f(a) b
    else g(a);

そしてそれは生成します:

sig4 = fn : ('a -> 'b -> 'c -> 'a) * ('a -> 'c -> 'a) -> 'a -> 'c -> 'b -> 'c - > 'a

前もって感謝します。

4

1 に答える 1