The base-orphans package

[Tags:library, mit, test]

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. See the README for what instances are covered: https://github.com/haskell-compat/base-orphans#readme. See also the what is not covered section.


[Skip to Readme]

Properties

Versions 0, 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.6 (info)
Change log CHANGES.markdown
Dependencies base (>=4.3 && <5), ghc-prim [details]
License MIT
Copyright (c) 2012-2017 Simon Hengel, (c) 2014-2017 João Cristóvão, (c) 2015-2017 Ryan Scott
Author Simon Hengel <sol@typeful.net>, João Cristóvão <jmacristovao@gmail.com>, Ryan Scott <ryan.gl.scott@gmail.com>
Maintainer Simon Hengel <sol@typeful.net>, João Cristóvão <jmacristovao@gmail.com>, Ryan Scott <ryan.gl.scott@gmail.com>
Category Compatibility
Home page https://github.com/haskell-compat/base-orphans#readme
Bug tracker https://github.com/haskell-compat/base-orphans/issues
Source repository head: git clone https://github.com/haskell-compat/base-orphans
Uploaded Mon Apr 10 13:37:41 UTC 2017 by ryanglscott
Distributions Arch:0.6, Debian:0.4.5, FreeBSD:0.4.4, LTSHaskell:0.5.4, NixOS:0.6, Stackage:0.6, Tumbleweed:0.5.4
Downloads 30414 total (7514 in the last 30 days)
Votes
1 []
Status Docs available [build log]
Last success reported on 2017-04-10 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for base-orphans

Readme for base-orphans-0.6

base-orphans

Hackage Hackage Dependencies Haskell Programming Language BSD3 License Build

Scope

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.

Usage

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

What is covered

  • Alternative, MonadPlus, and MonadZip instances for Proxy
  • Alternative, Applicative, Bounded, Data, Enum, Foldable, Functor, Ix, Monad, MonadFix, MonadPlus, MonadZip, and Traversable instances for data types in GHC.Generics
  • Applicative and Alternative instances for ReadP and ReadPrec
  • Applicative instance for strict and lazy ST
  • Applicative, Foldable, Functor, Monad, and Traversable instances for Complex, Dual, First, Last, Product, and Sum
  • Bits instance for Bool
  • Bits, Bounded, and Integral instances for CDev
  • Bits, Bounded, Enum, FiniteBits, Floating, Fractional, Integral, IsString, Ix, Num, Real, RealFloat, RealFrac, and Storable instances for Const and Identity
  • Data instances for All, Any, and Const
  • Data, MonadFix and MonadZip instances for Alt, Dual, First, Last, Product, and Sum
  • Data and IsList instances for Version
  • Eq and Ord instances for Control.Exception.ErrorCall
  • Eq, Ord, Read, and Show instances for data types in GHC.Generics
  • Eq, Ord, Read, Show, Foldable, and Traversable instances for ZipList
  • Eq1, Ord1, Read1, and Show1 instances for NonEmpty
  • Foldable instance for Either, (,) and Const
  • Functor instance for Handler, ArgOrder, OptDescr, and ArgDescr
  • Functor, Applicative, Alternative, and MonadPlus instances for ArrowMonad
  • Monad instance for (,)
  • Monad instance for WrappedMonad
  • MonadZip instance for Maybe
  • Monoid, Eq, Ord, Read, and Show instances for Const
  • Monoid instances for Identity and IO
  • Num instance for Sum and Product
  • Read instance for Fixed
  • Read and Show instances for Down
  • Semigroup instances for IO, Event and Lifetime
  • 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-8.2.1 / base-4.10.0.0
  • ghc-8.0.2 / base-4.9.1.0
  • ghc-8.0.1 / base-4.9.0.0
  • ghc-7.10.3 / base-4.8.2.0
  • ghc-7.10.2 / base-4.8.1.0
  • ghc-7.10.1 / base-4.8.0.0
  • ghc-7.8.4 / base-4.7.0.2
  • ghc-7.8.3 / base-4.7.0.1
  • ghc-7.8.2 / base-4.7.0.0
  • ghc-7.8.1 / base-4.7.0.0
  • ghc-7.6.3 / base-4.6.0.1
  • ghc-7.6.2 / base-4.6.0.1
  • ghc-7.6.1 / base-4.6.0.0
  • ghc-7.4.2 / base-4.5.1.0
  • ghc-7.4.1 / base-4.5.0.0
  • ghc-7.2.2 / base-4.4.1.0
  • ghc-7.2.1 / base-4.4.0.0
  • ghc-7.0.4 / base-4.3.1.0
  • ghc-7.0.3 / base-4.3.1.0
  • ghc-7.0.2 / base-4.3.1.0
  • ghc-7.0.1 / base-4.3.0.0

We also make an attempt to keep base-orphans building with GHC HEAD, but due to its volatility, it may not work at any given point in time. If it doesn't, please report it!

Patches are welcome; add tests for new code!