Squashed commit of the following:
commit a6f62265f345c8b7a7226515171752586b0d66e5 Author: Stephen Diehl <stephen.m.diehl@gmail.com> Date: Wed Apr 13 13:41:05 2016 -0400 bump version commit 1a809623cd1484ce215612e6b3ecef15015bc602 Author: Stephen Diehl <stephen.m.diehl@gmail.com> Date: Wed Apr 13 13:26:11 2016 -0400 masking for ghc 8.0 specific type commit 54bafb0bb80c8450863eac53a1f3a20a21c8b0c9 Author: Stephen Diehl <stephen.m.diehl@gmail.com> Date: Wed Apr 13 12:55:08 2016 -0400 bump ghc-prim for GHC 8.0 compat commit 8808d5f37369107b3e5961255089a8a9e02bf3d5 Author: Stephen Diehl <stephen.m.diehl@gmail.com> Date: Wed Apr 13 12:53:39 2016 -0400 expose base State transformers commit 05c32a4542aa66f715aea3855e140f74e97d4852 Author: Stephen Diehl <stephen.m.diehl@gmail.com> Date: Wed Apr 13 12:46:00 2016 -0400 adds compiler-independent base module
This commit is contained in:
+10
-8
@@ -1,8 +1,9 @@
|
||||
{-# LANGUAGE Safe #-}
|
||||
{-# LANGUAGE Trustworthy #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
{-# LANGUAGE TypeSynonymInstances #-}
|
||||
{-# LANGUAGE ExtendedDefaultRules #-}
|
||||
|
||||
module Show (
|
||||
Print(..),
|
||||
@@ -10,8 +11,8 @@ module Show (
|
||||
putLText,
|
||||
) where
|
||||
|
||||
import Prelude ((.), Char, IO)
|
||||
import qualified Prelude
|
||||
import qualified Base
|
||||
import Data.Function ((.))
|
||||
|
||||
import Control.Monad.IO.Class (MonadIO, liftIO)
|
||||
import qualified Data.ByteString.Char8 as BS
|
||||
@@ -23,6 +24,7 @@ import qualified Data.Text.IO as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.IO as TL
|
||||
|
||||
|
||||
class Print a where
|
||||
putStr :: MonadIO m => a -> m ()
|
||||
putStrLn :: MonadIO m => a -> m ()
|
||||
@@ -43,15 +45,15 @@ instance Print BL.ByteString where
|
||||
putStr = liftIO . BL.putStr
|
||||
putStrLn = liftIO . BL.putStrLn
|
||||
|
||||
instance Print [Char] where
|
||||
putStr = liftIO . Prelude.putStr
|
||||
putStrLn = liftIO . Prelude.putStrLn
|
||||
instance Print [Base.Char] where
|
||||
putStr = liftIO . Base.putStr
|
||||
putStrLn = liftIO . Base.putStrLn
|
||||
|
||||
-- For forcing type inference
|
||||
putText :: MonadIO m => T.Text -> m ()
|
||||
putText = putStrLn
|
||||
{-# SPECIALIZE putText :: T.Text -> IO () #-}
|
||||
{-# SPECIALIZE putText :: T.Text -> Base.IO () #-}
|
||||
|
||||
putLText :: MonadIO m => TL.Text -> m ()
|
||||
putLText = putStrLn
|
||||
{-# SPECIALIZE putLText :: TL.Text -> IO () #-}
|
||||
{-# SPECIALIZE putLText :: TL.Text -> Base.IO () #-}
|
||||
|
||||
Reference in New Issue
Block a user