of
fun of(scope: Scope = Scope.empty(), termificator: Termificator = Termificator.default(scope), variablesProvider: VariablesProvider = VariablesProvider.of(scope), unificator: Unificator = defaultUnificator): LogicProgrammingScope
Creates a new LogicProgrammingScope backed by scope (a fresh, empty one by default), using termificator to convert plain values into it.unibo.tuprolog.core.Terms, variablesProvider to create fresh variables, and unificator (the defaultUnificator strategy unless stated otherwise) to unify them. If either termificator or variablesProvider is not already backed by scope, it is Termificator.copy/VariablesProvider.copy-ed onto it first, so all three end up sharing the very same Scope instance (a requirement of the returned scope's implementation).
fun of(unificator: Unificator, scope: Scope = Scope.empty(), termificator: Termificator = Termificator.default(scope), variablesProvider: VariablesProvider = VariablesProvider.of(scope)): LogicProgrammingScope
Overload of of taking unificator as its first parameter (rather than its last), so a non-default Unificator can be supplied positionally without naming the argument — as logicProgramming and lp do.