nobsun #4810(2007/12/14 15:14 GMT) Rating1/1=1.00
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クラスのインスタンスを要素とするリスト上で定義 されていることが判ります.
[ reply ]
nobsun
#4810()
Rating1/1=1.00
[ reply ]