async-refresh-0.3.0.0: src/Control/Concurrent/Async/Refresh/Prelude.hs
{-|
Module : Control.Concurrent.Async.Refresh.Prelude
Description : Prelude for the async-refresh package.
Copyright : (c) Moritz Schulte, 2017
License : BSD3
Maintainer : mtesseract@silverratio.net
Stability : experimental
Portability : POSIX
-}
module Control.Concurrent.Async.Refresh.Prelude
( module Prelude
, module Control.Exception.Safe
, module Formatting
, module Control.Monad.Logger
, module UnliftIO.Async
, threadDelay
, Text
, fromMaybe
, forever, void
, MonadIO
, undefined
, tshow
) where
import Control.Exception.Safe
import Control.Monad
import Control.Monad.IO.Class
import Control.Monad.Logger
import Data.Maybe (fromMaybe)
import Data.Text (Text)
import qualified Data.Text
import Formatting
import Prelude hiding (head, tail, undefined)
import qualified Prelude
import UnliftIO.Async
import UnliftIO.Concurrent
-- | Version of 'undefined' with a deprecated pragma.
undefined :: a
undefined = Prelude.undefined
{-# DEPRECATED undefined "Don't use 'undefined' in production code" #-}
-- | Modern version of 'Prelude.show' producing 'Text' instead of
-- 'String'.
tshow :: Show a => a -> Text
tshow = Data.Text.pack . show