Comment detail

メソッド提供クラスの特定 (Nested Flatten)
Haskellではメソッドの出処がわからないような状態でプログラムを実行することは
できません.つまりコンパイル時にすべて解決されている必要があります.関数が
クラスメソッドかどうかはわかりませんが,どのようなコンテキストで使える関数
かを調べることはできます.型を調べればわかります.型は :type コマンドに式を
渡してしらべます.

% ghci
GHCi, version 6.8.2: http://www.haskell.org/ghc/  :? for help
Loading package base ... linking ... done.
Prelude> :type (+)
(+) :: (Num a) => a -> a -> a
Prelude> :type List.sort
List.sort :: (Ord a) => [a] -> [a]

↑の例では,加法演算子 + が Numクラス上で定義されていることが判ります.また,
Listモジュールのsort関数はOrdクラスのインスタンスを要素とするリスト上で定義
されていることが判ります.

Index

Feed

Other

Link

Pathtraq

loading...