- 806 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 08:55:38 ]
- Webで以下のような定義を見かけたのですが、
data 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 `=='」 とか怒られるんだけど、じゃーどう定義したらよいのか わかりまへん
|

|