Package it.unibo.tuprolog.solve.primitive

Types

Link copied to clipboard
abstract class ArithmeticRelation<E : ExecutionContext>(operator: String) : BinaryRelation.Predicative<E>

Base class for implementing arithmetic relation between Numeric terms

Link copied to clipboard
abstract class BinaryRelation<E : ExecutionContext>(operator: String) : PrimitiveWrapper<E>

Base class to implement primitives that relate two Terms and provide a single response

Link copied to clipboard
abstract class PredicateWithoutArguments<E : ExecutionContext>(operator: String) : PrimitiveWrapper<E>

A base class to implement predicates with zero argument

Link copied to clipboard
fun interface Primitive

A typealias for a primitive function that accepts a Solve.Request and returns a Sequence of Solve.Responses

Link copied to clipboard
abstract class PrimitiveWrapper<C : ExecutionContext> : AbstractWrapper<Primitive>

Wrapper class for Primitive implementation

Link copied to clipboard
abstract class QuaternaryRelation<E : ExecutionContext>(operator: String) : PrimitiveWrapper<E>
Link copied to clipboard
abstract class QuinaryRelation<E : ExecutionContext>(operator: String) : PrimitiveWrapper<E>
Link copied to clipboard
sealed class Solve

A base class for Solve requests and responses

Link copied to clipboard
abstract class TernaryRelation<E : ExecutionContext>(operator: String) : PrimitiveWrapper<E>

Base class to implement primitives that relate tree Terms

Link copied to clipboard
abstract class TypeEnsurer<E : ExecutionContext>(typeName: String) : UnaryPredicate.Predicative<E>
Link copied to clipboard
abstract class TypeTester<E : ExecutionContext>(typeName: String) : UnaryPredicate.Predicative<E>
Link copied to clipboard
abstract class UnaryPredicate<E : ExecutionContext>(operator: String) : PrimitiveWrapper<E>

A base class to implement predicates with one argument

Link copied to clipboard
typealias ZeroaryPredicate<E> = PredicateWithoutArguments<E>