Ticket #1728: Gen.hs

File Gen.hs, 416 bytes (added by klee@…, 7 years ago)

a simple module showing the bug

Line 
1module Gen where
2
3import Data.Generics
4
5class Equal a where
6    equal :: a -> a -> Bool
7    equal {| Unit |}    Unit        Unit        = True
8    equal {| u :+: v |} (Inl x)     (Inl y)     = equal x y
9    equal {| u :+: v |} (Inr x)     (Inr y)     = equal x y
10    equal {| u :+: v |} _           _           = False
11    equal {| u :*: v |} (x1 :*: x2) (y1 :*: y2) = equal x1 y1 && equal x2 y2
12
13instance Equal Bool