-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generating images of resolution trees for Prolog queries. -- -- This is the library part (See -- http://hackage.haskell.org/package/prolog-graph for the command -- line tool). @package prolog-graph-lib @version 0.2.1 module Language.Prolog.GraphViz htmlStr :: String -> TextItem resolveTree :: Program -> [Goal] -> IO () resolveTreeToFile :: FilePath -> Program -> [Goal] -> IO FilePath preview :: Gr NodeLabel EdgeLabel -> IO () toDot :: [Attribute] -> Gr NodeLabel EdgeLabel -> DotGraph Int type Graph = Gr NodeLabel EdgeLabel type NodeLabel = ((ProtoBranch, Branch), [Branch], CutFlag) type EdgeLabel = (ProtoBranch, Branch) type Branch = (Path, [(VariableName, Term)], [Term]) type Path = [Integer] type ProtoBranch = Branch data Gr a b Gr :: [(Int, a)] -> [(Int, Int, b)] -> Gr a b empty :: () => Gr a b insEdge :: () => (Int, Int, b) -> Gr a b -> Gr a b insNode :: () => (Int, a) -> Gr a b -> Gr a b gelem :: () => Int -> Gr b1 b2 -> Bool relabelNode :: () => (a -> a) -> Int -> Gr a b -> Gr a b labNodes :: () => Gr a b -> [(Int, a)] labEdges :: () => Gr a b -> [(Int, Int, b)] newtype GraphGenT m a GraphGenT :: StateT Graph m a -> GraphGenT m a runGraphGenT :: () => GraphGenT m a -> m (a, Graph) execGraphGenT :: Monad m => GraphGenT m a -> m Graph data CutFlag WasNotCut :: CutFlag WasCut :: CutFlag formatNode :: NodeLabel -> [Attribute] formatEdge :: EdgeLabel -> [Attribute] simplify :: [Substitution] -> Unifier htmlGoals :: [Term] -> TextItem htmlUnifier :: (Show a1, Show a2) => [(a1, a2)] -> [TextItem] modifyLabel :: MonadState (Gr a b) m => Int -> (a -> a) -> m () colorize :: X11Color -> Text -> [TextItem] hash :: Path -> Int filterOriginal :: () => [(VariableName, b)] -> [(VariableName, b)] hashString :: [Char] -> Integer