- type LowerCase = String
- data Result
- = None
- | Done Env
- | ApplyRules [(Rule, Result)]
- data Rule = Term :<-: [Term]
- class Subst t where
- subst :: Env -> t -> t
- class Taggable a where
- data Term
- emptyEnv :: Maybe (Map UpperCase t)
- enumerateDepthFirst :: [(String, Rule)] -> [String] -> Result -> [([(String, Rule)], Env)]
- pFun :: Parser Term
- pRule :: Parser Rule
- pTerm :: Parser Term
- show' :: Env -> [Char]
- solve :: [Rule] -> Maybe Env -> Int -> [Term] -> Result
- startParse :: (ListLike s b, Show b) => P (Str b s LineColPos) a -> s -> (a, [Error LineColPos])
- unify :: (Term, Term) -> Maybe Env -> Maybe Env
Documentation
printEnv
prints a single solution, showing only the variables
that were introduced in the original goal
startParse :: (ListLike s b, Show b) => P (Str b s LineColPos) a -> s -> (a, [Error LineColPos])Source