関数型プログラミング言語Haskell Part3
■ このスレッドは過去ログ倉庫に格納されています
0806デフォルトの名無しさん
2005/12/20(火) 08:55:38data List a = Nil | Cons a (List a)
instance Eq (List a) where
Nil == Nil = True
Cons x xs == Cons y ys = xs == ys
_ == _ = False
Cons x xs == Cons y ys = xs == ys
の部分って正しいの?
このままだと (Cons 1 (Cons 2 Nil)) == (Cons 1 (Cons 3 Nil))
が True になるんだけど・・・
かといって
Cons x xs == Cons y ys = x==y && xs == ys
とかすると、最初のほうの x==y で
「add (Eq a) to the class or instance method `=='」
とか怒られるんだけど、じゃーどう定義したらよいのか
わかりまへん
■ このスレッドは過去ログ倉庫に格納されています