Properties
Link copied to clipboard
The exception that made resolution halt, if this is a Halt solution, or null otherwise
Link copied to clipboard
The query, with substitution applied to it.
Link copied to clipboard
The Substitution.Unifier that made query succeed.
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Returns a Solution equivalent to this one, but with every variable not occurring in query (nor bound, in substitution, to a variable occurring in query) removed from substitution. Useful to drop resolution-internal variables before presenting a solution to a user.
Link copied to clipboard
Link copied to clipboard
abstract fun copy(query: Struct = this.query, substitution: Substitution.Unifier = this.substitution): Solution.Yes
Returns a Yes solution identical to this one, except for the explicitly-provided arguments.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun <T> whenIs(yes: (Solution.Yes) -> T? = null, no: (Solution.No) -> T? = null, halt: (Solution.Halt) -> T? = null, otherwise: (Solution) -> T = { throw IllegalStateException("Cannot handle solution $it") }): T