ExecutionContext

interface ExecutionContext: ExecutionContextAware, Any

An interface representing the Solver execution context, containing important information that determines its behaviour

Fields

Name Description
abstract procedure: Struct?

The current procedure being executed

abstract substitution: Unifier

The set of current substitution till this context

abstract prologStackTrace: List<Struct>

The Prolog call stacktrace till this ExecutionContext

Methods

createSolver

abstract fun createSolver(libraries: Libraries, flags: PrologFlags, staticKb: Theory, dynamicKb: Theory, stdIn: InputChannel<String>, stdOut: OutputChannel<String>, stdErr: OutputChannel<String>, warnings: OutputChannel<PrologWarning>): Solver

Parameters

Name Description
libraries: Libraries
flags: PrologFlags
staticKb: Theory
dynamicKb: Theory
stdIn: InputChannel<String>
stdOut: OutputChannel<String>
stdErr: OutputChannel<String>
warnings: OutputChannel<PrologWarning>

ReturnValue

Name Description
Solver

apply

open fun apply(sideEffect: SideEffect): ExecutionContext

Parameters

Name Description
sideEffect: SideEffect

ReturnValue

Name Description
ExecutionContext

apply

open fun apply(sideEffects: Iterable<SideEffect>): ExecutionContext

Parameters

Name Description
sideEffects: Iterable<SideEffect>

ReturnValue

Name Description
ExecutionContext

apply

open fun apply(sideEffects: Sequence<SideEffect>): ExecutionContext

Parameters

Name Description
sideEffects: Sequence<SideEffect>

ReturnValue

Name Description
ExecutionContext

update

abstract fun update(libraries: Libraries, flags: PrologFlags, staticKb: Theory, dynamicKb: Theory, operators: OperatorSet, inputChannels: PrologInputChannels<*>, outputChannels: PrologOutputChannels<*>): ExecutionContext

Parameters

Name Description
libraries: Libraries
flags: PrologFlags
staticKb: Theory
dynamicKb: Theory
operators: OperatorSet
inputChannels: PrologInputChannels<*>
outputChannels: PrologOutputChannels<*>

ReturnValue

Name Description
ExecutionContext