[][src]Module chalk_engine::context

Defines traits used to embed the chalk-engine in another crate.

chalk and rustc both define types which implement the traits in this module. This allows each user of chalk-engine to define their own DomainGoal type, add arena lifetime parameters, and more. See Context trait for a list of types.

Enums

AnswerResult

Traits

AnswerStream
Context

The "context" in which the SLG solver operates. It defines all the types that the SLG solver may need to refer to, as well as a few very simple interconversion methods.

ContextOps
InferenceTable

An "inference table" contains the state to support unification and other operations on terms.

ResolventOps
TruncateOps

"Truncation" (called "abstraction" in the papers referenced below) refers to the act of modifying a goal or answer that has become too large in order to guarantee termination.

UnificationOps

Methods for unifying and manipulating terms and binders.