関数型プログラミング言語Haskell Part7
■ このスレッドは過去ログ倉庫に格納されています
0505デフォルトの名無しさん
2007/06/16(土) 23:16:48型推論を終えた時点で数値の型が曖昧なときは、デフォルト化によって解決される。
どういう風にデフォルト化するかはdefault宣言で決めるんだが、宣言がないときは、
・できればInteger
・それがダメならDouble
・それがダメならエラー
という風になっている。最初の式の型は(Num a) => aだから、Integerが優先される。
log10の絡んだ式の型は(Floating a) => aで、Integerは適合しないから、第二候補のDouble
が使われる。Doubleには表現できる数に上限があるので、Infinityにもなる。
■ このスレッドは過去ログ倉庫に格納されています