it.unibo.tuprolog.solve.libs.oop.rules

package it.unibo.tuprolog.solve.libs.oop.rules

Classes

Name Description
class Alias: RuleWrapper<ExecutionContext>
sealed class ColonEquals: RuleWrapper<ExecutionContext>

':='(R, as(X, T)) :- var(R), !, fluent_reduce(X, Y), cast(X, T, R).
':='(R, M) :- var(R), !, fluent_reduce(M, R).
':='(C, V) :- property_reduce(C, R, P), assign(R, P, V).
object Dot: RuleWrapper<ExecutionContext>

'.'(Ref, Method) :- fluent_reduce([Ref | Method], _)
sealed class FluentReduce: RuleWrapper<ExecutionContext>

fluent_reduce([P, M | X], R) :- !, invoke_method(P, M, P1), fluent_reduce([P1 | X], R). % recursive
fluent_reduce([P | M], R) :- !, invoke_method(P, M, R).                                 % couple
fluent_reduce([R], R) :- !.                                                             % base
fluent_reduce(R, R) :- !.                                                               % trivial
object NewObject2: RuleWrapper<ExecutionContext>
sealed class PropertyReduce: RuleWrapper<ExecutionContext>

property_reduce([A, B | C], O, P) :- !, invoke_method(A, B, B1), property_reduce([B1 | C], O, P). % recursive
property_reduce([A | B], A, B) :- !.                                                              % base