base-compat-0.12.1: A compatibility layer for base

# base-compat-0.12.1: A compatibility layer for base

Provides functions available in later versions of `base` to a wider range of compilers, without requiring you to use CPP pragmas in your code. See the README for what is covered. Also see the changelog for recent changes.

Note that `base-compat` does not add any orphan instances. There is a separate package, `base-orphans`, for that.

In addition, `base-compat` does not backport any data types or type classes. See `this section of the README` for more info.

`base-compat` is designed to have zero dependencies. For a version of `base-compat` that depends on compatibility libraries for a wider support window, see the `base-compat-batteries` package. Most of the modules in this library have the same names as in `base-compat-batteries` to make it easier to switch between the two. There also exist versions of each module with the suffix `.Repl`, which are distinct from anything in `base-compat-batteries`, to allow for easier use in GHCi.

Signatures

Modules

- Control
  Submodules
  - Concurrent
    Submodules
    - Control.Concurrent.Compat
      Submodules
      - Control.Concurrent.Compat.Repl
    - MVar
      Submodules
      - Control.Concurrent.MVar.Compat
        Submodules
        - Control.Concurrent.MVar.Compat.Repl
  - Exception
    Submodules
    - Control.Exception.Compat
      Submodules
      - Control.Exception.Compat.Repl
  - Monad
    Submodules
    - Control.Monad.Compat
      Submodules
      - Control.Monad.Compat.Repl
    - Fail
      Submodules
      - Control.Monad.Fail.Compat
        Submodules
        - Control.Monad.Fail.Compat.Repl
    - IO
      Submodules
      - Class
        Submodules
        - Control.Monad.IO.Class.Compat
          Submodules
          - Control.Monad.IO.Class.Compat.Repl
    - ST
      Submodules
      - Lazy
        Submodules
        - Unsafe
          Submodules
          - Control.Monad.ST.Lazy.Unsafe.Compat
            Submodules
            - Control.Monad.ST.Lazy.Unsafe.Compat.Repl
      - Unsafe
        Submodules
        - Control.Monad.ST.Unsafe.Compat
          Submodules
          - Control.Monad.ST.Unsafe.Compat.Repl
- Data
  Submodules
  - Bifoldable
    Submodules
    - Data.Bifoldable.Compat
      Submodules
      - Data.Bifoldable.Compat.Repl
  - Bifunctor
    Submodules
    - Data.Bifunctor.Compat
      Submodules
      - Data.Bifunctor.Compat.Repl
  - Bitraversable
    Submodules
    - Data.Bitraversable.Compat
      Submodules
      - Data.Bitraversable.Compat.Repl
  - Bits
    Submodules
    - Data.Bits.Compat
      Submodules
      - Data.Bits.Compat.Repl
  - Bool
    Submodules
    - Data.Bool.Compat
      Submodules
      - Data.Bool.Compat.Repl
  - Complex
    Submodules
    - Data.Complex.Compat
      Submodules
      - Data.Complex.Compat.Repl
  - Either
    Submodules
    - Data.Either.Compat
      Submodules
      - Data.Either.Compat.Repl
  - Foldable
    Submodules
    - Data.Foldable.Compat
      Submodules
      - Data.Foldable.Compat.Repl
  - Function
    Submodules
    - Data.Function.Compat
      Submodules
      - Data.Function.Compat.Repl
  - Functor
    Submodules
    - Data.Functor.Compat
      Submodules
      - Data.Functor.Compat.Repl
    - Compose
      Submodules
      - Data.Functor.Compose.Compat
        Submodules
        - Data.Functor.Compose.Compat.Repl
    - Const
      Submodules
      - Data.Functor.Const.Compat
        Submodules
        - Data.Functor.Const.Compat.Repl
    - Contravariant
      Submodules
      - Data.Functor.Contravariant.Compat
        Submodules
        - Data.Functor.Contravariant.Compat.Repl
    - Identity
      Submodules
      - Data.Functor.Identity.Compat
        Submodules
        - Data.Functor.Identity.Compat.Repl
    - Product
      Submodules
      - Data.Functor.Product.Compat
        Submodules
        - Data.Functor.Product.Compat.Repl
    - Sum
      Submodules
      - Data.Functor.Sum.Compat
        Submodules
        - Data.Functor.Sum.Compat.Repl
  - IORef
    Submodules
    - Data.IORef.Compat
      Submodules
      - Data.IORef.Compat.Repl
  - List
    Submodules
    - Data.List.Compat
      Submodules
      - Data.List.Compat.Repl
    - NonEmpty
      Submodules
      - Data.List.NonEmpty.Compat
        Submodules
        - Data.List.NonEmpty.Compat.Repl
  - Monoid
    Submodules
    - Data.Monoid.Compat
      Submodules
      - Data.Monoid.Compat.Repl
  - Proxy
    Submodules
    - Data.Proxy.Compat
      Submodules
      - Data.Proxy.Compat.Repl
  - Ratio
    Submodules
    - Data.Ratio.Compat
      Submodules
      - Data.Ratio.Compat.Repl
  - STRef
    Submodules
    - Data.STRef.Compat
      Submodules
      - Data.STRef.Compat.Repl
  - Semigroup
    Submodules
    - Data.Semigroup.Compat
      Submodules
      - Data.Semigroup.Compat.Repl
  - String
    Submodules
    - Data.String.Compat
      Submodules
      - Data.String.Compat.Repl
  - Tuple
    Submodules
    - Data.Tuple.Compat
      Submodules
      - Data.Tuple.Compat.Repl
  - Type
    Submodules
    - Coercion
      Submodules
      - Data.Type.Coercion.Compat
        Submodules
        - Data.Type.Coercion.Compat.Repl
    - Equality
      Submodules
      - Data.Type.Equality.Compat
        Submodules
        - Data.Type.Equality.Compat.Repl
  - Version
    Submodules
    - Data.Version.Compat
      Submodules
      - Data.Version.Compat.Repl
  - Void
    Submodules
    - Data.Void.Compat
      Submodules
      - Data.Void.Compat.Repl
  - Word
    Submodules
    - Data.Word.Compat
      Submodules
      - Data.Word.Compat.Repl
- Debug
  Submodules
  - Trace
    Submodules
    - Debug.Trace.Compat
      Submodules
      - Debug.Trace.Compat.Repl
- Foreign
  Submodules
  - Foreign.Compat
    Submodules
    - Foreign.Compat.Repl
  - ForeignPtr
    Submodules
    - Foreign.ForeignPtr.Compat
      Submodules
      - Foreign.ForeignPtr.Compat.Repl
    - Safe
      Submodules
      - Foreign.ForeignPtr.Safe.Compat
        Submodules
        - Foreign.ForeignPtr.Safe.Compat.Repl
    - Unsafe
      Submodules
      - Foreign.ForeignPtr.Unsafe.Compat
        Submodules
        - Foreign.ForeignPtr.Unsafe.Compat.Repl
  - Marshal
    Submodules
    - Alloc
      Submodules
      - Foreign.Marshal.Alloc.Compat
        Submodules
        - Foreign.Marshal.Alloc.Compat.Repl
    - Array
      Submodules
      - Foreign.Marshal.Array.Compat
        Submodules
        - Foreign.Marshal.Array.Compat.Repl
    - Foreign.Marshal.Compat
      Submodules
      - Foreign.Marshal.Compat.Repl
    - Safe
      Submodules
      - Foreign.Marshal.Safe.Compat
        Submodules
        - Foreign.Marshal.Safe.Compat.Repl
    - Unsafe
      Submodules
      - Foreign.Marshal.Unsafe.Compat
        Submodules
        - Foreign.Marshal.Unsafe.Compat.Repl
    - Utils
      Submodules
      - Foreign.Marshal.Utils.Compat
        Submodules
        - Foreign.Marshal.Utils.Compat.Repl
- Numeric
  Submodules
  - Numeric.Compat
    Submodules
    - Numeric.Compat.Repl
  - Natural
    Submodules
    - Numeric.Natural.Compat
      Submodules
      - Numeric.Natural.Compat.Repl
- Prelude
  Submodules
  - Prelude.Compat
    Submodules
    - Prelude.Compat.Repl
- System
  Submodules
  - Environment
    Submodules
    - System.Environment.Compat
      Submodules
      - System.Environment.Compat.Repl
  - Exit
    Submodules
    - System.Exit.Compat
      Submodules
      - System.Exit.Compat.Repl
  - IO
    Submodules
    - System.IO.Compat
      Submodules
      - System.IO.Compat.Repl
    - Error
      Submodules
      - System.IO.Error.Compat
        Submodules
        - System.IO.Error.Compat.Repl
    - Unsafe
      Submodules
      - System.IO.Unsafe.Compat
        Submodules
        - System.IO.Unsafe.Compat.Repl
- Text
  Submodules
  - Read
    Submodules
    - Text.Read.Compat
      Submodules
      - Text.Read.Compat.Repl
    - Lex
      Submodules
      - Text.Read.Lex.Compat
        Submodules
        - Text.Read.Lex.Compat.Repl
- Type
  Submodules
  - Reflection
    Submodules
    - Type.Reflection.Compat
      Submodules
      - Type.Reflection.Compat.Repl