{-# LANGUAGE GADTs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -Wno-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 ''(:~:))
$(deriveTextShow ''(:~~:))
instance TextShow1 ((:~~:) a) where
liftShowbPrec :: forall a.
(Int -> a -> Builder)
-> ([a] -> Builder) -> Int -> (a :~~: a) -> Builder
liftShowbPrec = $(makeLiftShowbPrec ''(:~~:))
$(deriveTextShow2 ''(:~~:))