prolog-0.1: A Prolog interpreter written in Haskell.

Language.Prolog

Documentation

data Clause Source

Constructors

Clause 

Fields

lhs :: Term
 
rhs_ :: [Goal]
 
ClauseFn 

Fields

lhs :: Term
 
fn :: [Term] -> [Goal]
 

rhs :: Clause -> [Term] -> [Goal]Source

class Monad m => MonadTrace m whereSource

Methods

trace :: String -> m ()Source

Instances

MonadTrace IO 
MonadTrace (Either err) 
(MonadTrace m, MonadTrans t, Monad (t m)) => MonadTrace (t m) 
MonadTrace (Trace IO) 

withTrace :: Trace m a -> m aSource

class Monad m => MonadGraphGen m whereSource

Methods

createConnections :: Unifier -> [Goal] -> [Branch] -> m ()Source

markSolution :: Unifier -> m ()Source

markCutBranches :: Stack -> m ()Source

Instances

Monad m => MonadGraphGen (NoGraphT m) 
MonadGraphGen m => MonadGraphGen (ReaderT r m) 

runNoGraphT :: NoGraphT m a -> m aSource