module Text.Show.Text.Data.Semigroup (
showbMinPrec
, showbMaxPrec
, showbFirstPrec
, showbLastPrec
, showbWrappedMonoidPrec
, showbOptionPrec
, showbArgPrec
) where
import Data.Semigroup (Min, Max, First, Last, WrappedMonoid, Option, Arg)
import Prelude hiding (Show)
import Text.Show.Text (Show(showbPrec), Show1(showbPrec1), Builder)
import Text.Show.Text.TH (deriveShowPragmas, defaultInlineShowbPrec)
#include "inline.h"
showbMinPrec :: Show a => Int -> Min a -> Builder
showbMinPrec = showbPrec
showbMaxPrec :: Show a => Int -> Max a -> Builder
showbMaxPrec = showbPrec
showbFirstPrec :: Show a => Int -> First a -> Builder
showbFirstPrec = showbPrec
showbLastPrec :: Show a => Int -> Last a -> Builder
showbLastPrec = showbPrec
showbWrappedMonoidPrec :: Show m => Int -> WrappedMonoid m -> Builder
showbWrappedMonoidPrec = showbPrec
showbOptionPrec :: Show a => Int -> Option a -> Builder
showbOptionPrec = showbPrec
showbArgPrec :: (Show a, Show b) => Int -> Arg a b -> Builder
showbArgPrec = showbPrec
$(deriveShowPragmas defaultInlineShowbPrec ''Min)
$(deriveShowPragmas defaultInlineShowbPrec ''Max)
$(deriveShowPragmas defaultInlineShowbPrec ''First)
$(deriveShowPragmas defaultInlineShowbPrec ''Last)
$(deriveShowPragmas defaultInlineShowbPrec ''WrappedMonoid)
$(deriveShowPragmas defaultInlineShowbPrec ''Option)
$(deriveShowPragmas defaultInlineShowbPrec ''Arg)
instance Show1 Min where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)
instance Show1 Max where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)
instance Show1 First where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)
instance Show1 Last where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)
instance Show1 WrappedMonoid where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)
instance Show1 Option where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)
instance Show a => Show1 (Arg a) where
showbPrec1 = showbPrec
INLINE_INST_FUN(showbPrec1)