関数型プログラミング言語Haskell Part11
■ このスレッドは過去ログ倉庫に格納されています
0625デフォルトの名無しさん
2010/02/24(水) 20:30:53次の型の関数があるとします。
one :: x -> Int
one n = 1
rev :: String -> String
rev = reverse
このとき、次の式の型が String -> Int になる理由が分かりません。
fmap one rev
fmap の型は (a -> b) -> f a -> f b ですよね。
自分では、まず (a -> b) を one の型より (x -> Int) と推論したのですが、
すると b は Int となって、ここで既に結果の型と違い、躓きました。
それとも、これで合ってるのでしょうか。
どなたか a は〜から〜と推論できるなどと、
詳しく演繹の様子を示していただけないでしょうか。
■ このスレッドは過去ログ倉庫に格納されています