-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Mutable objects that reside in their own threads. -- @package ThreadObjects @version 0.0 module Control.Concurrent.ThreadObject data ThreadObject a signal ThreadObject :: MVar (ActionType a signal) -> ThreadObject a signal tickerMVar :: ThreadObject a signal -> MVar (ActionType a signal) data ActionType a signal IOAction :: (a -> IO a) -> (Maybe signal) -> ActionType a signal PureAction :: (a -> a) -> (Maybe signal) -> ActionType a signal SetSyncOnGet :: (a -> IO a) -> ActionType a signal SetSyncOnPut :: (a -> (Maybe signal) -> IO ()) -> ActionType a signal GetObjectValueIO :: (a -> IO ()) -> ActionType a signal FreeObject :: (MVar Bool) -> ActionType a signal threadObject :: IO (ThreadObject a signal) data SeedOrSyncOnGet a SeedInitially :: a -> SeedOrSyncOnGet a SyncOnGet :: (a -> IO a) -> a -> SeedOrSyncOnGet a data InitialThreadState a signal DoNotSync :: (SeedOrSyncOnGet a) -> InitialThreadState a signal SyncWithoutSignal :: (SeedOrSyncOnGet a) -> InitialThreadState a signal SyncWithSignal :: (SeedOrSyncOnGet a) -> (Maybe signal) -> InitialThreadState a signal objectInit :: Exception exception => ThreadObject a signal -> InitialThreadState a signal -> (a -> (Maybe signal) -> IO ()) -> (a -> exception -> IO a) -> IO () loopObjectSyncOnPutPhase :: Exception exception => ThreadObject a signal -> (a -> IO a) -> (a -> (Maybe signal) -> IO ()) -> a -> a -> (Maybe signal) -> (a -> exception -> IO a) -> IO () loopObject :: Exception exception => ThreadObject a signal -> (a -> IO a) -> (a -> (Maybe signal) -> IO ()) -> a -> (a -> exception -> IO a) -> IO () update :: ThreadObject a signal -> (a -> a) -> IO () updateBlock :: ThreadObject a signal -> (a -> a) -> IO () updateWithSignal :: ThreadObject a signal -> (a -> a) -> signal -> IO () updateWithSignal' :: ThreadObject a signal -> (a -> a) -> (Maybe signal) -> IO () updateReturning :: ThreadObject a signal -> (a -> (a, b)) -> IO b updateIOReturning :: ThreadObject a signal -> (a -> IO (a, b)) -> IO b updateIOReturningInThisThread :: ThreadObject a signal -> (a -> IO (a, b)) -> IO b updateMulti :: ThreadObject a signalA -> (a -> IO a) -> IO () updateMultiWithSignal :: ThreadObject a signalA -> signalA -> (a -> IO a) -> IO () alsoUpdate :: ThreadObject a signal -> (t -> a -> IO (a, b)) -> t -> IO b finallyUpdate :: ThreadObject a signal -> (t -> a -> (a, b)) -> t -> IO b updateHelper :: a -> b -> MVar a -> (a -> b -> IO (a, b)) -> IO b updateWith :: ThreadObject a signalA -> ThreadObject b signalB -> (a -> b -> b) -> IO () updateWith2 :: ThreadObject a signalA -> ThreadObject b signalB -> ThreadObject c signalC -> (a -> b -> c -> c) -> IO () updateIO :: ThreadObject a signalA -> (a -> IO a) -> IO () updateIONoBlock :: ThreadObject a singalA -> (a -> IO a) -> IO () updateIONoBlockWithSignal :: ThreadObject a signalA -> (a -> IO a) -> signalA -> IO () updateIONoBlockWithSignal' :: ThreadObject a signalA -> (a -> IO a) -> Maybe signalA -> IO () getObjectValue :: ThreadObject a signalA -> IO a setSyncOnGet :: ThreadObject a signalA -> (a -> IO a) -> IO () setSyncOnPut :: ThreadObject a signalA -> (a -> (Maybe signalA) -> IO ()) -> IO () noSyncOnGet :: a -> IO a noSyncOnPut :: a -> (Maybe signalA) -> IO () handleExceptionStdErr :: [Char] -> b -> SomeException -> IO b freeObject :: ThreadObject a signalA -> IO () module Control.Concurrent.StateRecords data RecorderSignal signal RecorderSignal :: Bool -> (Maybe signal) -> RecorderSignal signal type History a = (Maybe a, [a], [a]) type Record a signal = (History a, ThreadObject a signal) type StateRecords a signal = ThreadObject (Record a signal) () stateRecords :: Exception exception => ThreadObject a signal -> (Record a signal -> exception -> IO (Record a signal)) -> IO (StateRecords a signal) recordState :: Int -> StateRecords a signal -> a -> IO () undoStateActionOfRecorder :: StateRecords a (RecorderSignal signal) -> IO Bool undoStateAction :: StateRecords a signal -> IO Bool undoStateAction' :: StateRecords a signal -> (ThreadObject a signal -> a -> IO ()) -> IO Bool