{-# LANGUAGE CPP, RankNTypes, GADTs, ScopedTypeVariables, FlexibleContexts #-} module Ckev.In.Text ( ShowText(..) , showT , showGraphT) where import Protolude hiding (show) import Compiler.Hoopl import GHC.Show (Show(..)) showT :: (Show a) => a -> Text showT = toS . show class ShowText a where showText :: a -> Text -- Compiler.Hoopl type ShowingT n = forall e x . n e x -> Text showGraphT :: forall n e x . ShowingT n -> Graph n e x -> Text showGraphT n = toS . (showGraph $ toS . n)