module Termonad.Prelude ( module X , hPutStrLn , whenJust ) where import Control.Lens as X ((&)) import Control.Monad.Trans.Maybe as X (MaybeT(MaybeT), runMaybeT) import ClassyPrelude as X import Data.Proxy as X import qualified Data.Text.IO as TextIO whenJust :: Monoid m => Maybe a -> (a -> m) -> m whenJust :: Maybe a -> (a -> m) -> m whenJust = ((a -> m) -> Maybe a -> m) -> Maybe a -> (a -> m) -> m forall a b c. (a -> b -> c) -> b -> a -> c flip (a -> m) -> Maybe a -> m forall mono m. (MonoFoldable mono, Monoid m) => (Element mono -> m) -> mono -> m foldMap hPutStrLn :: MonadIO m => Handle -> Text -> m () hPutStrLn :: Handle -> Text -> m () hPutStrLn hndl :: Handle hndl = IO () -> m () forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO (IO () -> m ()) -> (Text -> IO ()) -> Text -> m () forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Handle -> Text -> IO () TextIO.hPutStrLn Handle hndl