{-# LANGUAGE CPP #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module TextShow.Data.Type.Equality () where
import Data.Type.Equality.Compat
import TextShow.Classes (TextShow1(..))
import TextShow.TH.Internal (deriveTextShow, deriveTextShow2, makeLiftShowbPrec)
$(deriveTextShow ''(:~:))
instance TextShow1 ((:~:) a) where
liftShowbPrec :: forall a.
(Int -> a -> Builder)
-> ([a] -> Builder) -> Int -> (a :~: a) -> Builder
liftShowbPrec = $(makeLiftShowbPrec ''(:~:))
$(deriveTextShow2 ''(:~:))
#if MIN_VERSION_base(4,9,0)
$(deriveTextShow ''(:~~:))
instance TextShow1 ((:~~:) a) where
liftShowbPrec :: forall a.
(Int -> a -> Builder)
-> ([a] -> Builder) -> Int -> (a :~~: a) -> Builder
liftShowbPrec = $(makeLiftShowbPrec ''(:~~:))
$(deriveTextShow2 ''(:~~:))
#endif