1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
module Classes where class Foo f where bar :: f a -> f b -> f (a, b) baz :: f () baz = undefined class Quux q where (+++), (///) :: q -> q -> q (***), logBase :: q -> q -> q foo, quux :: q -> q -> q