-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Initial project template from stack
--   
--   Please see README.md
@package say
@version 0.1.0.0

module Say

-- | Send a Text to standard output, appending a newline, and
--   chunking the data. By default, the chunk size is 2048 characters, so
--   any messages below that size will be sent as one contiguous unit. If
--   larger messages are used, it is possible for interleaving with other
--   threads to occur.
say :: MonadIO m => Text -> m ()

-- | Same as say, but operates on a String. Note that this
--   will force the entire String into memory at once, and will
--   fail for infinite Strings.
sayString :: MonadIO m => String -> m ()

-- | Same as say, but for instances of Show.
--   
--   If your Show instance generates infinite output, this will
--   fail. However, an infinite result for show would generally be
--   considered an invalid instance anyway.
sayShow :: (MonadIO m, Show a) => a -> m ()

-- | Same as say, but data is sent to standard error.
sayErr :: MonadIO m => Text -> m ()

-- | Same as sayString, but data is sent to standard error.
sayErrString :: MonadIO m => String -> m ()

-- | Same as sayShow, but data is sent to standard error.
sayErrShow :: (MonadIO m, Show a) => a -> m ()

-- | Same as say, but data is sent to the provided Handle.
hSay :: MonadIO m => Handle -> Text -> m ()

-- | Same as sayString, but data is sent to the provided
--   Handle.
hSayString :: MonadIO m => Handle -> String -> m ()

-- | Same as sayShow, but data is sent to the provided
--   Handle.
hSayShow :: (MonadIO m, Show a) => Handle -> a -> m ()
