packages feed

animate-preview-0.0.0: library/Animate/Preview/Logger.hs

module Animate.Preview.Logger where

import qualified Data.Text.IO as T
import Control.Monad.IO.Class (MonadIO(..))
import Data.Text (Text)

class Monad m => Logger m where
  logText :: Text -> m ()
  default logText :: MonadIO m => Text -> m ()
  logText = liftIO . T.putStrLn

  logShow :: Show a => a -> m ()
  default logShow :: (MonadIO m, Show a) => a -> m ()
  logShow = liftIO . print