@hackage base-orphans0.4.2

Backwards-compatible orphan instances for base

base-orphans Hackage version Build Status


base-orphans defines orphan instances that mimic instances available in later versions of base to a wider (older) range of compilers. base-orphans does not export anything except the orphan instances themselves and complements base-compat.

Note that base-orphans doesn't cover every possible instance. See the What is not covered section for exceptions.


To use base-orphans, simply import Data.Orphans ().

What is covered

  • Added Applicative and Alternative instances for ReadP and ReadPrec
  • Added Bits, Bounded, and Integral instances for CDev
  • Added Eq and Ord instances for Control.Exception.ErrorCall
  • Added Eq, Ord, Read, and Show instances for data types in GHC.Generics
  • Added Functor, Applicative, Alternative, and MonadPlus instances for ArrowMonad
  • Added Functor, Applicative, and Monad instances for First and Last
  • Added Monoid, Eq, Ord, Read, and Show instances for Const
  • Added Read and Show instances for Down
  • Added Eq, Ord, Read, and Show instances for ZipList
  • Added Monad instance for WrappedMonad
  • Added Data and IsList instances for Version
  • Applicative instance for strict and lazy ST
  • Bits instance for Bool
  • Foldable instance for Either, (,) and Const
  • Functor instance for Handler, ArgOrder, OptDescr, and ArgDescr
  • Num instance for Sum and Product
  • Read instance for Fixed
  • Show instance for Fingerprint
  • Storable instance for Complex and Ratio
  • Traversable instance for Either, (,) and Const
  • Typeable instance for most data types, typeclasses, and promoted data constructors (when possible)

What is not covered

base-orphans does not define the following instances:

Supported versions of GHC/base

  • ghc-7.10.2 / base-
  • ghc-7.10.1 / base-
  • ghc-7.8.4 / base-
  • ghc-7.8.3 / base-
  • ghc-7.8.2 / base-
  • ghc-7.8.1 / base-
  • ghc-7.6.3 / base-
  • ghc-7.6.2 / base-
  • ghc-7.6.1 / base-
  • ghc-7.4.2 / base-
  • ghc-7.4.1 / base-
  • ghc-7.2.2 / base-
  • ghc-7.2.1 / base-
  • ghc-7.0.4 / base-
  • ghc-7.0.3 / base-
  • ghc-7.0.2 / base-
  • ghc-7.0.1 / base-

Patches are welcome; add tests for new code!