1 Introduction
1.1 Target Audience
1.2 Overview
2 Implementing Unification
2.1 Variables
2.2 Substitutions
2.3 Unification
2.4 Reification
2.5 The run Interface
2.6 Examples
3 Implementing fresh
3.1 State
3.2 Updating Goals
3.3 Syntactic Sugar
3.4 Reification
3.5 The run Interface
3.6 Examples
4 Implementing disjunction and conjunction
4.1 disj and conj goals
4.2 Streams
4.3 Syntactic Sugar
4.4 Updating Reification
4.5 Example
5 Implementing Disequality
5.1 Introduction to Disequality Constraints
5.2 Updating ==
5.3 Implementing =/=
5.4 Optimizations
5.5 Updating Reification
5.6 Examples