network-house-0.1.0.2: data and parsers for Ethernet, TCP, UDP, IPv4, IPv6, ICMP, DHCP, TFTP

Safe HaskellSafe-Inferred
LanguageHaskell98

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

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

Methods

delay :: Int -> io () Source

Instances

DelayIO IO 
(MonadTrans t, Monad m, Functor (t m), Monad (t m), DelayIO m) => DelayIO (t m) 

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

ChannelIO Chan IO 
(MonadTrans t, Monad m, Functor (t m), Monad (t m), ChannelIO c m) => ChannelIO c (t m) 

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, readMVar :: v a -> io a Source

Instances

MVarIO MVar IO 
(MonadTrans t, Monad m, Functor (t m), Monad (t m), MVarIO v m) => MVarIO v (t m) 

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

RefIO IORef IO 
(MonadTrans t, Monad m, Functor (t m), Monad (t m), RefIO c m) => RefIO c (t m)