logicProgramming

fun <R> logicProgramming(unificator: Unificator = LogicProgrammingScope.defaultUnificator, function: LogicProgrammingScope.() -> R): R

Entry point of :dsl-unify's Prolog DSL: like :dsl-core's it.unibo.tuprolog.dsl.logicProgramming, but the receiver is a LogicProgrammingScope — so unification (it.unibo.tuprolog.unify.Unificator.mgu, it.unibo.tuprolog.unify.Unificator.match, it.unibo.tuprolog.unify.Unificator.unify, or the mguWith/matches/unifyWith sugar) is available inside function alongside the rest of the DSL — using unificator (an empty-context it.unibo.tuprolog.unify.Unificator.strict strategy by default) as its unification strategy:

val substitution = logicProgramming { varOf("X") mguWith "a" } // {X = a}