-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parallel Join Patterns with Guards and Propagation -- -- Parallel Join Patterns with Guards and Propagation @package join @version 0.3 module Join.Join data Method C :: String -> [Argument] -> Method data Argument ArgInt :: (L Int) -> Argument ArgString :: (L String) -> Argument ArgBool :: (L Bool) -> Argument ArgTVarInt :: (L (TVar Int)) -> Argument ArgListInt :: (L [Int]) -> Argument ArgSyncInt :: (L (MVar Int)) -> Argument ArgSyncString :: (L (MVar String)) -> Argument ArgSyncIntList :: (L (MVar [Int])) -> Argument ArgSyncBool :: (L (MVar Bool)) -> Argument class Cons a cons :: (Cons a) => String -> a -> Method class CollectArgs a collectArgs :: (CollectArgs a) => a -> [Argument] type ActiveMethod = Location Method data Join Join :: Store Method -> (Join -> ActiveMethod -> IO ()) -> Join store :: Join -> Store Method rules :: Join -> Join -> ActiveMethod -> IO () newJoinStore :: IO (Store Method) type Sync a = MVar a call :: (CollectArgs a) => Join -> String -> a -> IO () callPassive :: (CollectArgs a) => Join -> String -> a -> IO () class Assign a b (.=.) :: (Assign a b) => a -> b -> IO () translateJoinDefinitions :: (EMatch msg, Eq msg, Show msg) => [([MatchTask msg], Code_RHS ())] -> [CompClause (Store msg) (Location msg) ()] runJoinOnGoal :: (EMatch msg, Eq msg, Show msg) => Store msg -> Location msg -> [CompClause (Store msg) (Location msg) ()] -> IO (Maybe (Code_RHS ())) instance Eq Argument instance Show Argument instance Assign (VAR (MVar a)) a instance Assign (VAR (MVar a)) (VAR a) instance (CollectArgs a, CollectArgs b, CollectArgs c) => CollectArgs (a, b, c) instance (CollectArgs a, CollectArgs b) => CollectArgs (a, b) instance CollectArgs [Int] instance CollectArgs (VAR [Int]) instance CollectArgs (MVar [Int]) instance CollectArgs (VAR (MVar [Int])) instance CollectArgs (MVar String) instance CollectArgs (VAR (MVar String)) instance CollectArgs (MVar Bool) instance CollectArgs (VAR (MVar Bool)) instance CollectArgs (MVar Int) instance CollectArgs (VAR (MVar Int)) instance CollectArgs (TVar Int) instance CollectArgs (VAR (TVar Int)) instance CollectArgs String instance CollectArgs (VAR String) instance CollectArgs Bool instance CollectArgs (VAR Bool) instance CollectArgs Int instance CollectArgs (VAR Int) instance CollectArgs () instance (CollectArgs a) => Cons a instance (Eq a) => EMatch (TVar a) instance (Eq a) => EMatch (MVar a) instance EMatch String instance EMatch Bool instance EMatch Int instance EMatch [Int] instance EMatch Argument instance EMatch Method instance (Show a) => Show (L a) instance Show (TVar Int) instance Show (MVar [Int]) instance Show (MVar String) instance Show (MVar Bool) instance Show (MVar Int) instance Show Method instance Eq Method module Join.Base module Join.JoinPrettyPrinter instance PrettyPrint Method instance PrettyPrint Argument