私は現在 Haskell を学んでおり、関数合成をいじろうとしています。
私は2つの関数を書きました。
let func1 x y = x + y
let func2 t = t*2
ただし、これら 2 つの関数を作成しようとすると、
func2 . func1 1 2
6 になると予想されます。
代わりに、次のエラーが表示されます。
No instance for (Num (a -> b))
arising from a use of `func1' at <interactive>:1:8-16
Possible fix: add an instance declaration for (Num (a -> b))
In the second argument of `(.)', namely `func1 1 2'
In the expression: func2 . func1 1 2
In the definition of `it': it = func2 . func1 1 2
これが機能しない理由を誰かが説明できますか?