-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A generic exploring interpreter for exploratory programming -- -- A generic exploring interpreter for exploratory programming @package exploring-interpreters @version 0.3.2.0 module Language.Explorer.Monadic data Explorer programs m configs output execute :: (Eq c, Eq p, Eq o, Monad m, Monoid o) => p -> Explorer p m c o -> m (Explorer p m c o, o) executeAll :: (Eq c, Eq p, Eq o, Monad m, Monoid o) => [p] -> Explorer p m c o -> m (Explorer p m c o, o) revert :: Ref -> Explorer p m c o -> Maybe (Explorer p m c o) dynamicRevert :: Bool -> Ref -> Explorer p m c o -> Maybe (Explorer p m c o) toTree :: Explorer p m c o -> Tree (Ref, c) incomingEdges :: Ref -> Explorer p m c o -> [((Ref, c), (p, o), (Ref, c))] mkExplorerStack :: (Show a, Eq a, Eq b, Monad m, Monoid o) => (a -> b -> m (Maybe b, o)) -> b -> Explorer a m b o mkExplorerTree :: (Show a, Eq a, Eq b, Monad m, Monoid o) => (a -> b -> m (Maybe b, o)) -> b -> Explorer a m b o mkExplorerGraph :: (Show a, Eq a, Eq b, Monad m, Monoid o) => (a -> b -> m (Maybe b, o)) -> b -> Explorer a m b o mkExplorerGSS :: (Show a, Eq a, Eq b, Monad m, Monoid o) => (a -> b -> m (Maybe b, o)) -> b -> Explorer a m b o config :: Explorer programs m configs output -> configs execEnv :: Explorer programs m configs output -> Gr Ref (programs, output) currRef :: Explorer programs m configs output -> Ref initialRef :: Int -- | Returns all configurations that have not been the source for an -- execute action. This corresponds to leaves in a tree or nodes without -- an outbound-edge in a graph. leaves :: Explorer p m c o -> [(Ref, c)] type Ref = Int deref :: Explorer p m c o -> Ref -> Maybe c getTrace :: Explorer p m c o -> [((Ref, c), (p, o), (Ref, c))] getTraces :: Explorer p m c o -> [[((Ref, c), (p, o), (Ref, c))]] getPathsFromTo :: Explorer p m c o -> Ref -> Ref -> [[((Ref, c), (p, o), (Ref, c))]] getPathFromTo :: Explorer p m c o -> Ref -> Ref -> [((Ref, c), (p, o), (Ref, c))] executionGraph :: Explorer p m c o -> (Ref, [Ref], [((Ref, c), (p, o), (Ref, c))]) toExport :: Explorer p m c o -> (Ref, [(Ref, c)], [(Ref, Ref, (p, o))]) fromExport :: Explorer p m c o -> (Ref, [(Ref, c)], [(Ref, Ref, (p, o))]) -> Explorer p m c o module Language.Explorer.Pure type Explorer a b o = Explorer a Identity b o execute :: (Eq c, Eq p, Eq o, Monoid o) => p -> Explorer p c o -> (Explorer p c o, o) executeAll :: (Eq c, Eq p, Eq o, Monoid o) => [p] -> Explorer p c o -> (Explorer p c o, o) revert :: Ref -> Explorer p c o -> Maybe (Explorer p c o) dynamicRevert :: Bool -> Ref -> Explorer p c o -> Maybe (Explorer p c o) toTree :: Explorer p m c o -> Tree (Ref, c) incomingEdges :: Ref -> Explorer p c o -> [((Ref, c), (p, o), (Ref, c))] mkExplorerStack :: (Show a, Eq a, Eq b, Monoid o) => (a -> b -> (Maybe b, o)) -> b -> Explorer a b o mkExplorerTree :: (Show a, Eq a, Eq b, Monoid o) => (a -> b -> (Maybe b, o)) -> b -> Explorer a b o mkExplorerGraph :: (Show a, Eq a, Eq b, Monoid o) => (a -> b -> (Maybe b, o)) -> b -> Explorer a b o mkExplorerGSS :: (Show a, Eq a, Eq b, Monoid o) => (a -> b -> (Maybe b, o)) -> b -> Explorer a b o config :: Explorer a b o -> b currRef :: Explorer a b o -> Ref type Ref = Ref initialRef :: Int deref :: Explorer p c o -> Ref -> Maybe c leaves :: Explorer p c o -> [(Ref, c)] getTrace :: Explorer p c o -> [((Ref, c), (p, o), (Ref, c))] getTraces :: Explorer p c o -> [[((Ref, c), (p, o), (Ref, c))]] getPathsFromTo :: Explorer p c o -> Ref -> Ref -> [[((Ref, c), (p, o), (Ref, c))]] getPathFromTo :: Explorer p c o -> Ref -> Ref -> [((Ref, c), (p, o), (Ref, c))] executionGraph :: Explorer p c o -> (Ref, [Ref], [((Ref, c), (p, o), (Ref, c))])