nobsun #4962(2007/12/25 06:32 GMT) Rating2/2=1.00
Haskell での 0 とか 1 などの整数表記リテラルの型を調べると、 % ghci GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude> :type 0 0 :: (Num t) => t Prelude> :type 1 1 :: (Num t) => t のように Numクラスのインスタンスである型になります。 ということは、Numクラスのインスタンスであると宣言された型が 出現するべきだと型推論されたところで表れた整数表記リテラルは 当該の型であること認識できるというわけです。この場合 Modulo a b 型は、aがNatクラスのインスタンス、bがIntegralクラス のインスタンスである文脈でNumクラスのインスタンスであると宣言 されていますので、Modulo Ten Int やModulo Seven Int が来るべき 場所で整数表記リテラルが出現すれば、それぞれの型として解釈されます。
[ reply ]
nobsun
#4962()
Rating2/2=1.00