exploring-interpreters-1.3.0.0: A generic exploring interpreter for exploratory programming
Safe HaskellNone
LanguageHaskell2010

Language.Explorer.Pure

Documentation

type Explorer a b o = Explorer a Identity b o Source #

mkExplorer :: PureLanguage p c o => Bool -> (c -> c -> Bool) -> (p -> c -> (Maybe c, o)) -> c -> Explorer p c o Source #

mkExplorerNoSharing :: PureLanguage p c o => (p -> c -> (Maybe c, o)) -> c -> Explorer p c o Source #

execute :: PureLanguage p c o => p -> Explorer p c o -> (Explorer p c o, o) Source #

executeAll :: PureLanguage p c o => [p] -> Explorer p c o -> (Explorer p c o, o) Source #

revert :: Ref -> Explorer p c o -> Maybe (Explorer p c o) Source #

toTree :: Explorer p m c o -> Tree (Ref, c) Source #

incomingEdges :: Ref -> Explorer p c o -> [((Ref, c), (p, o), (Ref, c))] Source #

config :: Explorer a b o -> b Source #

type Ref = Ref Source #

deref :: Explorer p c o -> Ref -> Maybe c Source #

leaves :: Explorer p c o -> [(Ref, c)] Source #

getTrace :: Explorer p c o -> [((Ref, c), (p, o), (Ref, c))] Source #

getTraces :: Explorer p c o -> [[((Ref, c), (p, o), (Ref, c))]] Source #

getPathsFromTo :: Explorer p c o -> Ref -> Ref -> [[((Ref, c), (p, o), (Ref, c))]] Source #

getPathFromTo :: Explorer p c o -> Ref -> Ref -> [((Ref, c), (p, o), (Ref, c))] Source #

executionGraph :: Explorer p c o -> ((Ref, c), [(Ref, c)], [((Ref, c), (p, o), (Ref, c))]) Source #

fromExport :: Explorer p c o -> (Ref, [(Ref, c)], [(Ref, Ref, (p, o))]) -> Explorer p c o Source #

toExport :: Explorer p c o -> (Ref, [(Ref, c)], [(Ref, Ref, (p, o))]) Source #