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

Safe HaskellSafe
LanguageHaskell98

Net.Concurrent

Description

Concurrency primitives abstracted away from the IO monad

Documentation

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

Minimal complete definition

fork, kill

Methods

fork :: io () -> io ThreadId #

kill :: ThreadId -> io () #

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

Minimal complete definition

delay

Methods

delay :: Int -> io () #

Instances

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

Methods

delay :: Int -> t m () #

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

Minimal complete definition

newChan, readChan, writeChan

Methods

newChan :: io (c a) #

readChan :: c a -> io a #

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

Instances

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

Methods

newChan :: t m (c a) #

readChan :: c a -> t m a #

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

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

Minimal complete definition

newEmptyMVar, putMVar, takeMVar, readMVar

Methods

newEmptyMVar :: io (v a) #

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

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

takeMVar, readMVar :: v a -> io a #

Instances

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

Methods

newEmptyMVar :: t m (v a) #

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

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

takeMVar :: v a -> t m a #

readMVar :: v a -> t m a #

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

Minimal complete definition

newRef, readRef, writeRef

Methods

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

readRef :: r a -> io a #

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

Instances

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

Methods

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

readRef :: c a -> t m a #

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