WIP
Work In Progress
WIPを明示するためにノートを罫線で分割する
f :: a -> m c
のような多相な関数に対する呼び出し時にf @Int @[] @String 100
a
が Int
になり、 m
が []
になり、...という風になる f :: Int -> Int
という型引数を持たない関数に指定すると、当然エラーになるf :: Int -> Int
f = undefined
result :: Int
result = f @Int 5 -- error
main = do
print $ map read ["33", "4"]
print $ show . read $ "42"
main = do
print $ map (read @Int) ["33", "4"]
print $ show @Int . read $ "42"
main = print $ (show :: Int -> String) . read $ "42"