TypeApplications
簡潔に型アノテーションを書ける
元のコード
型エラーになる
code:hs
main = do
print $ show . read $ "42"
TypeApplicationsを使って簡潔に型アノテーションを書く
code:hs
{-# LANGUAGE TypeApplications #-} main = do
print $ show @Int . read $ "42"
TypeApplicationsを使わないとしたらこう書かないといけない
code:hs
main = print $ (show :: Int -> String) . read $ "42"
型パラメータを具体化する
length :: [a] -> Intという関数を使う時に、
length @Boolと書くことで、length :: [Bool] -> Intな関数として扱える
型パラメータに、具体型を型適用している
序盤にちょろっとだけ