2006-10-01 [長年日記]

[Haskell] rank-2 Polymorphism

f :: ([a] -> Int) -> Int
f g = g [1,2,3] + g ['a','b','c']

はだめだけれど、

f' :: (forall a. [a] -> Int) -> Int
f' g = g [1,2,3] + g ['a','b','c']

はOK。


トップ «前の日記(2006-09-30) 最新 次の日記(2006-10-02)»