非常に単純な Haskell プログラムを作成しました。
main = print $ sum $ map read ["55", "99", "101"]
私の過去の経験から、「あいまいな型」エラーが発生することが予想されましsum $ map read [...]
た(Read a, Num a) => a
。Num
はクラスであるため、それ自体でクラスを実装することはできませんShow
。しかし、プログラムは正しく「255」を出力しました。どのようにprint
して出力を生成する方法を決定できましたか? (show
エラーなしで正しい結果を生成することもできます。)