read

main = print $ read "100" :: Int

これがエラーになって

main = print $ (read "100" :: Int)

こっちは通るのがいまいち良く分からなくて悩んだ。



どうやら

main = (print $ read "100") :: Int

このようにパースされるらしい。だからIntとIO ()がマッチしないとか言われるのか..

というか::は演算子では無いのか。ghci で:i (::)とかやっても何も出てこない。パースエラー。