Module proto_vulcan::user[][src]

Expand description

User extensions

By defining a struct that implements the Clone- Debug- and User-traits, the search State-monad can be extended with any kind of information that gets cloned along with the search when it forks, and discarded when branches fail. This can be used to add additional clone-on-write constraint-stores, for example. The user-defined state can be accessed wherever State is available, such as in in fngoal |state| { }-functions and in constraints.

The User-trait provides optional hooks that the user can implement. What hooks there should be is still largely TBD.

Another way of extending Proto-vulcan is LTerms that implement UserUnify-trait. User defined state is not available in user defined unification, as LTerm is not parametrized by the user state type.

Structs

Traits