MagicCut

object MagicCut : Atom

Properties

Link copied to clipboard
open override val args: List<Term>
Link copied to clipboard
open override val argsSequence: Sequence<Term>
Link copied to clipboard
open override val arity: Int
Link copied to clipboard
const val FUNCTOR: String
Link copied to clipboard
open override val functor: String
Link copied to clipboard
open override val indicator: Indicator
Link copied to clipboard
open override val isAtom: Boolean
Link copied to clipboard
open override val isBlock: Boolean
Link copied to clipboard
open override val isClause: Boolean
Link copied to clipboard
open override val isCons: Boolean
Link copied to clipboard
open override val isConstant: Boolean
Link copied to clipboard
open override val isDirective: Boolean
Link copied to clipboard
open override val isEmptyBlock: Boolean
Link copied to clipboard
open override val isEmptyList: Boolean
Link copied to clipboard
open override val isFact: Boolean
Link copied to clipboard
open override val isFail: Boolean
Link copied to clipboard
open override val isFunctorWellFormed: Boolean
Link copied to clipboard
open override val isGround: Boolean
Link copied to clipboard
open override val isIndicator: Boolean
Link copied to clipboard
open override val isInteger: Boolean
Link copied to clipboard
open override val isList: Boolean
Link copied to clipboard
open override val isNumber: Boolean
Link copied to clipboard
open override val isReal: Boolean
Link copied to clipboard
open override val isRecursive: Boolean
Link copied to clipboard
open override val isRule: Boolean
Link copied to clipboard
open override val isStruct: Boolean
Link copied to clipboard
open override val isTrue: Boolean
Link copied to clipboard
open override val isTruth: Boolean
Link copied to clipboard
open override val isTuple: Boolean
Link copied to clipboard
open override val isVar: Boolean
Link copied to clipboard
open override val tags: Map<String, Any>
Link copied to clipboard
open override val value: String
Link copied to clipboard
open override val variables: Sequence<Var>

Functions

Link copied to clipboard
open override fun <T> accept(visitor: TermVisitor<T>): T
Link copied to clipboard
open override fun addFirst(argument: Term): Struct
Link copied to clipboard
open override fun addLast(argument: Term): Struct
Link copied to clipboard
open override fun append(argument: Term): Struct
Link copied to clipboard
open override fun apply(substitution: Substitution): Term
open override fun apply(substitution: Substitution, vararg substitutions: Substitution): Term
Link copied to clipboard
open override fun <T : Term> as(): T?
Link copied to clipboard
open override fun asAtom(): Atom
Link copied to clipboard
open override fun asBlock(): Block?
Link copied to clipboard
open override fun asClause(): Clause?
Link copied to clipboard
open override fun asCons(): Cons?
Link copied to clipboard
open override fun asConstant(): Constant
Link copied to clipboard
open override fun asDirective(): Directive?
Link copied to clipboard
open override fun asEmptyBlock(): EmptyBlock?
Link copied to clipboard
open override fun asEmptyList(): EmptyList?
Link copied to clipboard
open override fun asFact(): Fact?
Link copied to clipboard
open override fun asIndicator(): Indicator?
Link copied to clipboard
open override fun asInteger(): Integer?
Link copied to clipboard
open override fun asList(): List?
Link copied to clipboard
open override fun asNumeric(): Numeric?
Link copied to clipboard
open override fun asReal(): Real?
Link copied to clipboard
open override fun asRecursive(): Recursive?
Link copied to clipboard
open override fun asRule(): Rule?
Link copied to clipboard
open override fun asStruct(): Struct
Link copied to clipboard
open override fun asTerm(): Term
Link copied to clipboard
open override fun asTruth(): Truth?
Link copied to clipboard
open override fun asTuple(): Tuple?
Link copied to clipboard
open override fun asVar(): Var?
Link copied to clipboard
open override fun <T : Term> castTo(): T
Link copied to clipboard
open override fun castToAtom(): Atom
Link copied to clipboard
open override fun castToBlock(): Block
Link copied to clipboard
open override fun castToClause(): Clause
Link copied to clipboard
open override fun castToCons(): Cons
Link copied to clipboard
open override fun castToConstant(): Constant
Link copied to clipboard
open override fun castToDirective(): Directive
Link copied to clipboard
open override fun castToEmptyBlock(): EmptyBlock
Link copied to clipboard
open override fun castToEmptyList(): EmptyList
Link copied to clipboard
open override fun castToFact(): Fact
Link copied to clipboard
open override fun castToIndicator(): Indicator
Link copied to clipboard
open override fun castToInteger(): Integer
Link copied to clipboard
open override fun castToList(): List
Link copied to clipboard
open override fun castToNumeric(): Numeric
Link copied to clipboard
open override fun castToReal(): Real
Link copied to clipboard
open override fun castToRecursive(): Recursive
Link copied to clipboard
open override fun castToRule(): Rule
Link copied to clipboard
open override fun castToStruct(): Struct
Link copied to clipboard
open override fun castToTerm(): Term
Link copied to clipboard
open override fun castToTruth(): Truth
Link copied to clipboard
open override fun castToTuple(): Tuple
Link copied to clipboard
open override fun castToVar(): Var
Link copied to clipboard
open operator override fun compareTo(other: Term): Int
Link copied to clipboard
open override fun containsTag(name: String): Boolean
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
open override fun equals(other: Term, useVarCompleteName: Boolean): Boolean
Link copied to clipboard
fun Term.evalAsArithmeticExpression(request: Solve.Request<*>, index: Int? = null): Numeric

Evaluates this Term as a full arithmetic expression (as is/2 does), via ArithmeticEvaluator, producing a Numeric result or raising an error if any sub-term is not evaluable, or does not evaluate to a number. index is used only to enrich thrown errors, identifying which argument of request this term came from.

Link copied to clipboard
fun Term.evalAsExpression(request: Solve.Request<*>, index: Int? = null): Term

Evaluates this Term as an expression against request's context-loaded functions, reducing evaluable sub-terms in place via ExpressionEvaluator; a non-evaluable sub-term raises a it.unibo.tuprolog.solve.exception.error.TypeError. index is used only to enrich that error, identifying which argument of request this term came from.

Link copied to clipboard

Extracts this Struct indicator and converts it to Signature

Link copied to clipboard
open override fun freshCopy(): Atom
open override fun freshCopy(scope: Scope): Atom
Link copied to clipboard
open operator override fun get(index: Int): Term
open operator override fun get(substitution: Substitution, vararg substitutions: Substitution): Term
Link copied to clipboard
open override fun getArgAt(index: Int): Term
Link copied to clipboard
open override fun <T : Any> getTag(name: String): T?
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun insertAt(index: Int, argument: Term): Struct
Link copied to clipboard
open override fun replaceTags(tags: Map<String, Any>): Term
Link copied to clipboard
open override fun setArgs(args: Iterable<Term>): Struct
open override fun setArgs(args: Sequence<Term>): Struct
open override fun setArgs(vararg args: Term): Struct
Link copied to clipboard
open override fun setFunctor(functor: String): Struct
Link copied to clipboard
open infix override fun structurallyEquals(other: Term): Boolean
Link copied to clipboard
open override fun toString(): String