module CabalGild.Class.MonadLog where class (Monad m) => MonadLog m where log :: String -> m () instance MonadLog IO where log :: String -> IO () log = String -> IO () putStr logLn :: (MonadLog m) => String -> m () logLn :: forall (m :: * -> *). MonadLog m => String -> m () logLn = String -> m () forall (m :: * -> *). MonadLog m => String -> m () CabalGild.Class.MonadLog.log (String -> m ()) -> (String -> String) -> String -> m () forall b c a. (b -> c) -> (a -> b) -> a -> c . (String -> String -> String forall a. Semigroup a => a -> a -> a <> String "\n")