There is no run-time polymorphism in the type system in Haskell. Type inference nails everything down at compile-time. Hence:
-- This doesn't compile because there's no way for the
-- compiler to infer the concrete return type from read.
reparse :: String -> String
reparse = show . read
Because of the type inference system, this turns out to be
(
Read more... )