rev a b = b a
> t1の私は、それを得ることはありませんか?右サイドでなぜ次関数tのタイプがあり、この関数は<code>t -> (t -> t1) -> t1</code>タイプを持っていない理由
rev a b = b a
> t1の私は、それを得ることはありませんか?右サイドでなぜ次関数tのタイプがあり、この関数は<code>t -> (t -> t1) -> t1</code>タイプを持っていない理由
b a
がにargUに機能b
のアプリケーションがある場合は、結果のタイプメンズa
。つまり、コンパイラはどれもa
とb
を推測することができるので、その関数の引数の型とその関数の戻り値の型にはt
とという名前が割り当てられ、rev
には引数と関数その引数を返し、アプリケーションの結果を返します。
開始:あなたはa
b
への適用 - (のはb :: t -> t1
それを呼びましょう)を入力し、a
(それは、いくつかのタイプa -> b
を持っているを持っている)機能をするので、b
ニーズはこれと互換性があるように持っています - a :: t
意味がない、明らかにb
の終域(ここではt1
)
あなたはどんなタイプを期待していますか? – Bergi