SideEffectsBuilder

A SideEffectFactory that also accumulates every SideEffect it creates into sideEffects, so a primitive can build up a list of side effects imperatively (calling factory methods for their effect on this builder) and then retrieve the whole list via build. This is exactly what it.unibo.tuprolog.solve.primitive.Solve.Request.replyWith's buildSideEffects: SideEffectsBuilder.() -> Unit overloads run against.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The SideEffects accumulated by this builder so far, in creation order.

Functions

Link copied to clipboard
Link copied to clipboard
abstract fun addDynamicClauses(clauses: Iterable<Clause>, onTop: Boolean = false): SideEffect.AddDynamicClauses
abstract fun addDynamicClauses(clauses: Sequence<Clause>, onTop: Boolean = false): SideEffect.AddDynamicClauses
abstract fun addDynamicClauses(vararg clauses: Clause, onTop: Boolean = false): SideEffect.AddDynamicClauses
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun addStaticClauses(clauses: Iterable<Clause>, onTop: Boolean = false): SideEffect.AddStaticClauses
abstract fun addStaticClauses(clauses: Sequence<Clause>, onTop: Boolean = false): SideEffect.AddStaticClauses
abstract fun addStaticClauses(vararg clauses: Clause, onTop: Boolean = false): SideEffect.AddStaticClauses
Link copied to clipboard
open fun build(): List<SideEffect>

Returns a snapshot List of the SideEffects accumulated so far.

Link copied to clipboard

Same as build, but as an Array.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun resetFlags(vararg flags: Pair<String, Term>): SideEffect.ResetFlags
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun setFlag(name: String, value: Term): SideEffect.SetFlags
Link copied to clipboard
abstract fun setFlags(flags: Map<String, Term>): SideEffect.SetFlags
abstract fun setFlags(vararg flags: Pair<String, Term>): SideEffect.SetFlags
Link copied to clipboard
Link copied to clipboard