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 LTerm
s that implement UserUnify
-trait. User
defined state is not available in user defined unification, as LTerm
is not parametrized
by the user state type.