Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
Instances
Eq Term Source # | |
Data Term Source # | |
Defined in Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Term -> c Term # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Term # dataTypeOf :: Term -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Term) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Term) # gmapT :: (forall b. Data b => b -> b) -> Term -> Term # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Term -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Term -> r # gmapQ :: (forall d. Data d => d -> u) -> Term -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Term -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Term -> m Term # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Term -> m Term # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Term -> m Term # | |
Ord Term Source # | |
Show Term Source # | |
IsString Term Source # | |
Defined in IsString fromString :: String -> Term # | |
Lift Term Source # | |
Lift ([Term] -> [Goal]) Source # | |
Instances
Data Clause Source # | |
Defined in Syntax gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Clause -> c Clause # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Clause # toConstr :: Clause -> Constr # dataTypeOf :: Clause -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Clause) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Clause) # gmapT :: (forall b. Data b => b -> b) -> Clause -> Clause # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Clause -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Clause -> r # gmapQ :: (forall d. Data d => d -> u) -> Clause -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Clause -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Clause -> m Clause # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Clause -> m Clause # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Clause -> m Clause # | |
Show Clause Source # | |
IsString Clause Source # | |
Defined in IsString fromString :: String -> Clause # | |
Lift Clause Source # | |
data VariableName Source #
Instances
type Unifier = [Substitution] Source #
type Substitution = (VariableName, Term) Source #
class Monad m => MonadTrace m where Source #
Instances
MonadTrace IO Source # | |
MonadTrace (Either err) Source # | |
(MonadTrace m, MonadTrans t, Monad (t m)) => MonadTrace (t m) Source # | |
Defined in Interpreter |
class Monad m => MonadGraphGen m where Source #
createConnections :: Branch -> [Branch] -> [Branch] -> m () Source #
markSolution :: Unifier -> m () Source #
markCutBranches :: Stack -> m () Source #
Instances
MonadGraphGen m => MonadGraphGen (ReaderT r m) Source # | |
Defined in Interpreter createConnections :: Branch -> [Branch] -> [Branch] -> ReaderT r m () Source # markSolution :: Unifier -> ReaderT r m () Source # markCutBranches :: Stack -> ReaderT r m () Source # |
runNoGraphT :: NoGraphT m a -> m a Source #
resolve :: (Functor m, MonadTrace m, Error e, MonadError e m) => Program -> [Goal] -> m [Unifier] Source #
resolve_ :: (Functor m, MonadTrace m, Error e, MonadError e m, MonadGraphGen m) => Program -> [Goal] -> m [Unifier] Source #
(+++) :: [Substitution] -> [Substitution] -> Unifier Source #
parseQuery :: String -> Either ParseError [Term] Source #