Comment detail

法演算 (Nested Flatten)

This comment is reply for 4950 shiro: これはおもしろい。適切なinstance...(法演算). Go to thread root.

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 が来るべき
場所で整数表記リテラルが出現すれば、それぞれの型として解釈されます。

Index

Feed

Other

Link

Pathtraq

loading...