{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-} #if __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif #if __GLASGOW_HASKELL__ >= 708 {-# LANGUAGE ExplicitNamespaces #-} #endif module Data.Type.Equality.Compat ( -- * The equality types (:~:)(..), #if __GLASGOW_HASKELL__ >= 800 type (~~), #endif #if __GLASGOW_HASKELL__ >= 800 (:~~:)(..), #endif -- * Working with equality sym, trans, castWith, gcastWith, #if __GLASGOW_HASKELL__ >= 706 apply, #endif inner, #if __GLASGOW_HASKELL__ >= 706 outer, #endif -- * Inferring equality from other types TestEquality(..), #if __GLASGOW_HASKELL__ >= 708 -- * Boolean type-level equality type (==), #endif ) where #if MIN_VERSION_base(4,7,0) import "base" Data.Type.Equality #else import "type-equality" Data.Type.Equality #endif #if MIN_VERSION_base(4,9,0) && !MIN_VERSION_base(4,10,0) import "type-equality" Data.Type.Equality.Hetero #endif