MstLogicAlgebra

object MstLogicAlgebra : LogicAlgebra<MST>

Logic algebra for MST

Functions

Link copied to clipboard
open infix override fun MST.and(other: MST): MST

Logic 'and'

Link copied to clipboard
open override fun binaryOperation(operation: String, left: MST, right: MST): MST

Dynamically invokes a binary operation with the certain name.

Link copied to clipboard
open override fun binaryOperationFunction(operation: String): (left: MST, right: MST) -> MST

Dynamically dispatches a binary operation with the certain name.

Link copied to clipboard
open fun bindSymbol(value: String): MST

The same as bindSymbolOrNull but throws an error if symbol could not be bound

Link copied to clipboard
open override fun bindSymbolOrNull(value: String): MST

Wraps a raw string to T object. This method is designed for three purposes:

Link copied to clipboard
open override fun const(boolean: Boolean): Symbol

Represent constant Boolean as T

Link copied to clipboard
open fun export(arg: MST): MST

Export an algebra element, so it could be accessed even after algebra scope is closed. This method must be used on algebras where data is stored externally or any local algebra state is used. By default (if not overridden), exports the object itself.

Link copied to clipboard
open operator override fun MST.not(): MST

Logic 'not'

Link copied to clipboard
open infix override fun MST.or(other: MST): MST

Logic 'or'

Link copied to clipboard
open override fun unaryOperation(operation: String, arg: MST): MST

Dynamically invokes a unary operation with the certain name.

Link copied to clipboard
open override fun unaryOperationFunction(operation: String): (arg: MST) -> MST

Dynamically dispatches a unary operation with the certain name.

Link copied to clipboard
open infix override fun MST.xor(other: MST): MST

Logic 'xor'

Sources

Link copied to clipboard