Common type classes

  1. class Eq a where
  2. eq :: a -> a -> Boolean
  3. -- data Ordering = LT | GT | EQ
  4. class Eq a => Ord a where
  5. compare :: a -> a -> Ordering
  6. class Foldable f where
  7. foldl :: forall a b. (b -> a -> b) -> b -> f a -> b
  8. foldr :: forall a b. (a -> b -> b) -> b -> f a -> b
  9. foldMap :: forall a m. Monoid m => (a -> m) -> f a -> m