これがGHCiからの短いトランスクリプトです:
Prelude> :t read
read :: Read a => String -> a
Prelude> :t show
show :: Show a => a -> String
Prelude> :t show.read
show.read :: String -> String
Prelude> (show.read) "whales"
"*** Exception: Prelude.read: no parse
私が作曲するとき、GHCが「中間」タイプであることができると同時に可能であるいくつかの任意のタイプを選んだshow
とread
私は推測することができるだけです。Read
Show
どのようにしてこのタイプを選択しましたか?それが何であるかを知る方法はありますか?