base-4.22.0.0: src/Data/Type/Equality.hs
{-# LANGUAGE Safe #-}
{-# LANGUAGE ExplicitNamespaces #-}
-- |
--
-- Module : Data.Type.Equality
-- License : BSD-style (see the LICENSE file in the distribution)
--
-- Maintainer : libraries@haskell.org
-- Stability : stable
-- Portability : not portable
--
-- Definition of propositional equality @(':~:')@. Pattern-matching on a variable
-- of type @(a ':~:' b)@ produces a proof that @a '~' b@.
--
-- @since 4.7.0.0
module Data.Type.Equality
(-- * The equality types
type (~),
type (~~),
(:~:)(..),
(:~~:)(..),
-- * Working with equality
sym,
trans,
castWith,
gcastWith,
apply,
inner,
outer,
-- * Inferring equality from other types
TestEquality(..),
-- * Boolean type-level equality
type (==)
) where
import GHC.Internal.Data.Type.Equality