network-house-0.1.0.3: data and parsers for Ethernet, TCP, UDP, IPv4, IPv6, ICMP, DHCP, TFTP
Safe HaskellSafe-Inferred
LanguageHaskell2010

Net.Concurrent

Description

Concurrency primitives abstracted away from the IO monad

Documentation

class (Functor io, Monad io) => ForkIO io where Source #

Methods

fork :: io () -> io ThreadId Source #

kill :: ThreadId -> io () Source #

Instances

Instances details
ForkIO IO Source # 
Instance details

Defined in Net.IO

Methods

fork :: IO () -> IO ThreadId Source #

kill :: ThreadId -> IO () Source #

class (Functor io, Monad io) => DelayIO io where Source #

Methods

delay :: Int -> io () Source #

Instances

Instances details
DelayIO IO Source # 
Instance details

Defined in Net.IO

Methods

delay :: Int -> IO () Source #

(MonadTrans t, Monad m, Functor (t m), Monad (t m), DelayIO m) => DelayIO (t m) Source # 
Instance details

Defined in Net.Concurrent

Methods

delay :: Int -> t m () Source #

class (Functor io, Monad io) => ChannelIO c io | io -> c where Source #

Methods

newChan :: io (c a) Source #

readChan :: c a -> io a Source #

writeChan :: c a -> a -> io () Source #

Instances

Instances details
ChannelIO Chan IO Source # 
Instance details

Defined in Net.IO

Methods

newChan :: IO (Chan a) Source #

readChan :: Chan a -> IO a Source #

writeChan :: Chan a -> a -> IO () Source #

(MonadTrans t, Monad m, Functor (t m), Monad (t m), ChannelIO c m) => ChannelIO c (t m) Source # 
Instance details

Defined in Net.Concurrent

Methods

newChan :: t m (c a) Source #

readChan :: c a -> t m a Source #

writeChan :: c a -> a -> t m () Source #

class (Functor io, Monad io) => MVarIO v io | io -> v where Source #

Minimal complete definition

newEmptyMVar, putMVar, takeMVar, readMVar

Methods

newEmptyMVar :: io (v a) Source #

newMVar :: a -> io (v a) Source #

putMVar :: v a -> a -> io () Source #

takeMVar :: v a -> io a Source #

readMVar :: v a -> io a Source #

Instances

Instances details
MVarIO MVar IO Source # 
Instance details

Defined in Net.IO

Methods

newEmptyMVar :: IO (MVar a) Source #

newMVar :: a -> IO (MVar a) Source #

putMVar :: MVar a -> a -> IO () Source #

takeMVar :: MVar a -> IO a Source #

readMVar :: MVar a -> IO a Source #

(MonadTrans t, Monad m, Functor (t m), Monad (t m), MVarIO v m) => MVarIO v (t m) Source # 
Instance details

Defined in Net.Concurrent

Methods

newEmptyMVar :: t m (v a) Source #

newMVar :: a -> t m (v a) Source #

putMVar :: v a -> a -> t m () Source #

takeMVar :: v a -> t m a Source #

readMVar :: v a -> t m a Source #

class (Functor io, Monad io) => RefIO r io | io -> r where Source #

Methods

newRef :: a -> io (r a) Source #

readRef :: r a -> io a Source #

writeRef :: r a -> a -> io () Source #

Instances

Instances details
RefIO IORef IO Source # 
Instance details

Defined in Net.IO

Methods

newRef :: a -> IO (IORef a) Source #

readRef :: IORef a -> IO a Source #

writeRef :: IORef a -> a -> IO () Source #

(MonadTrans t, Monad m, Functor (t m), Monad (t m), RefIO c m) => RefIO c (t m) Source # 
Instance details

Defined in Net.Concurrent

Methods

newRef :: a -> t m (c a) Source #

readRef :: c a -> t m a Source #

writeRef :: c a -> a -> t m () Source #