PrimitiveWrapper

abstract class PrimitiveWrapper<C : ExecutionContext> : AbstractWrapper<Primitive>

Wrapper class for Primitive implementation

Fields

Name Description
val implementation: Primitive

Checked primitive implementation

Constructors

<init>

constructor(signature: Signature)

Parameters

Name Description
signature: Signature

<init>

constructor(name: String, arity: Int, vararg: Boolean)

Parameters

Name Description
name: String
arity: Int
vararg: Boolean

Methods

uncheckedImplementation

protected abstract fun uncheckedImplementation(request: Request<C>): Sequence<Response>

The function expressing the implementation of the primitive, without any check for application to correct signature

Parameters

Name Description
request: Request<C>

ReturnValue

Name Description
Sequence<Response>

CompanionObject

PrimitiveWrapper

abstract class PrimitiveWrapper<C : ExecutionContext> : AbstractWrapper<Primitive>

Wrapper class for Primitive implementation

Methods

wrap

fun <C : ExecutionContext> wrap(signature: Signature, primitive: Primitive): PrimitiveWrapper<C>

Utility factory to build a PrimitiveWrapper out of a Signature and a Primitive function

Parameters

Name Description
signature: Signature
primitive: Primitive

ReturnValue

Name Description
PrimitiveWrapper<C>

wrap

fun <C : ExecutionContext> wrap(name: String, arity: Int, vararg: Boolean, primitive: Primitive): PrimitiveWrapper<C>

Utility factory to build a PrimitiveWrapper out of a Primitive function

Parameters

Name Description
name: String
arity: Int
vararg: Boolean
primitive: Primitive

ReturnValue

Name Description
PrimitiveWrapper<C>

wrap

fun <C : ExecutionContext> wrap(name: String, arity: Int, primitive: Primitive): PrimitiveWrapper<C>

Utility factory to build a PrimitiveWrapper out of a Primitive function

Parameters

Name Description
name: String
arity: Int
primitive: Primitive

ReturnValue

Name Description
PrimitiveWrapper<C>

checkTermIsRecursivelyCallable

fun <C : ExecutionContext> Request<C>.checkTermIsRecursivelyCallable(term: Term): TypeError?

Receiver

Name Description
Request<C>

Parameters

Name Description
term: Term

ReturnValue

Name Description
TypeError?

ensuringAllArgumentsAreInstantiated

fun <C : ExecutionContext> Request<C>.ensuringAllArgumentsAreInstantiated(): Request<C>

Utility function to ensure that all arguments of Solve.Request are instantiated and not (still) Variables

Receiver

Name Description
Request<C>

ReturnValue

Name Description
Request<C>

ensuringProcedureHasPermission

fun <C : ExecutionContext> Request<C>.ensuringProcedureHasPermission(signature: Signature?, operation: Operation): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
signature: Signature?
operation: Operation

ReturnValue

Name Description
Request<C>

ensuringClauseProcedureHasPermission

fun <C : ExecutionContext> Request<C>.ensuringClauseProcedureHasPermission(clause: Clause, operation: Operation): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
clause: Clause
operation: Operation

ReturnValue

Name Description
Request<C>

ensuringArgumentIsWellFormedIndicator

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsWellFormedIndicator(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

notImplemented

fun <C : ExecutionContext> Request<C>.notImplemented(message: String): Response

Receiver

Name Description
Request<C>

Parameters

Name Description
message: String

ReturnValue

Name Description
Response

notSupported

fun <C : ExecutionContext> Request<C>.notSupported(message: String): Response

Receiver

Name Description
Request<C>

Parameters

Name Description
message: String

ReturnValue

Name Description
Response

ensuringArgumentIsWellFormedClause

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsWellFormedClause(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsInstantiated

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsInstantiated(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsNumeric

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsNumeric(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsStruct

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsStruct(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsCallable

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsCallable(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsVariable

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsVariable(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsCompound

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsCompound(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsAtom

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsAtom(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsConstant

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsConstant(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsGround

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsGround(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsChar

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsChar(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsSpecifier

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsSpecifier(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsInteger

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsInteger(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsList

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsList(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsArity

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsArity(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsNonNegativeInteger

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsNonNegativeInteger(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

isCharacterCode

fun Integer.isCharacterCode(): Boolean

Receiver

Name Description
Integer

ReturnValue

Name Description
Boolean

ensuringTermIsCharCode

fun <C : ExecutionContext> Request<C>.ensuringTermIsCharCode(term: Term): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
term: Term

ReturnValue

Name Description
Request<C>

ensuringTermIsWellFormedList

fun <C : ExecutionContext> Request<C>.ensuringTermIsWellFormedList(term: Term): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
term: Term

ReturnValue

Name Description
Request<C>

ensuringArgumentIsWellFormedList

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsWellFormedList(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>

ensuringArgumentIsCharCode

fun <C : ExecutionContext> Request<C>.ensuringArgumentIsCharCode(index: Int): Request<C>

Receiver

Name Description
Request<C>

Parameters

Name Description
index: Int

ReturnValue

Name Description
Request<C>