{-# LANGUAGE CPP #-} module Imports (module Imports) where import Prelude as Imports import Control.Arrow as Imports import Control.Monad as Imports import Data.Maybe as Imports import Data.Functor as Imports #if MIN_VERSION_base(4,19,0) hiding (unzip) #endif import Data.IORef as Imports (IORef, newIORef, atomicWriteIORef, atomicModifyIORef') import Data.ByteString as Imports (ByteString) import Data.ByteString.Lazy as Imports (LazyByteString) atomicReadIORef :: IORef a -> IO a atomicReadIORef :: forall a. IORef a -> IO a atomicReadIORef IORef a ref = IORef a -> (a -> (a, a)) -> IO a forall a b. IORef a -> (a -> (a, b)) -> IO b atomicModifyIORef' IORef a ref (a -> a forall a. a -> a id (a -> a) -> (a -> a) -> a -> (a, a) forall b c c'. (b -> c) -> (b -> c') -> b -> (c, c') forall (a :: * -> * -> *) b c c'. Arrow a => a b c -> a b c' -> a b (c, c') &&& a -> a forall a. a -> a id) pass :: Applicative m => m () pass :: forall (m :: * -> *). Applicative m => m () pass = () -> m () forall a. a -> m a forall (f :: * -> *) a. Applicative f => a -> f a pure ()