NanoProlog-0.3: Very small interpreter for a Prolog-like language
Language.Prolog.NanoProlog.NanoProlog
newtype Env Source
Constructors
Fields
Instances
printEnv prints a single solution, showing only the variables that were introduced in the original goal
printEnv
type UpperCase = StringSource
type LowerCase = StringSource
type Tag = StringSource
data Result Source
data Rule Source
class Subst t whereSource
Methods
subst :: Env -> t -> tSource
class Taggable a whereSource
tag :: Tag -> a -> aSource
data Term Source
type Proofs = [(Tag, Rule)]Source
type TaggedTerm = (Tag, Term)Source
emptyEnv :: Maybe EnvSource
enumerateDepthFirst :: Proofs -> Result -> [(Proofs, Env)]Source
matches :: (Term, Term) -> Maybe Env -> Maybe EnvSource
solve :: [Rule] -> Maybe Env -> [TaggedTerm] -> ResultSource
unify :: (Term, Term) -> Maybe Env -> Maybe EnvSource