関数型プログラミング言語Haskell Part5
■ このスレッドは過去ログ倉庫に格納されています
0637デフォルトの名無しさん
2006/09/07(木) 20:21:21たぶん、
class Animal a where
call :: a -> String
instance Animal Dog where
...
instance Animal Sparrow where
...
として
func :: Animal a => [a] -> String
とした場合、
func :: [Dog] -> String
func :: [Sparrow] -> String
という2つの関数が作られるといった感じの理解のほうが近いように思う。
そして動的に関数を選択するのではなくコンパイル時には
すでに使用される関数は決定しているのだと思う。
クラスの意味としては、
Animalクラスのインスタンスならば、関数callを持っているということが保証される
という感じか。
■ このスレッドは過去ログ倉庫に格納されています