ExpressionAlgebra

interface ExpressionAlgebra<in T, E> : Algebra<E>

A context for expression construction

Parameters

T

type of the constants for the expression

E

type of the actual expression state

Functions

binaryOperation
Link copied to clipboard
common
open fun binaryOperation(operation: String, left: E, right: E): E
Dynamically invokes a binary operation with the certain name.
binaryOperationFunction
Link copied to clipboard
common
open fun binaryOperationFunction(operation: String): (E, E) -> E
Dynamically dispatches a binary operation with the certain name.
bindSymbol
Link copied to clipboard
common
open fun bindSymbol(value: String): E
The same as bindSymbolOrNull but throws an error if symbol could not be bound
bindSymbolOrNull
Link copied to clipboard
common
open fun bindSymbolOrNull(value: String): E?
Wraps a raw string to T object.
const
Link copied to clipboard
common
abstract fun const(value: T): E
A constant expression which does not depend on arguments
unaryOperation
Link copied to clipboard
common
open fun unaryOperation(operation: String, arg: E): E
Dynamically invokes an unary operation with the certain name.
unaryOperationFunction
Link copied to clipboard
common
open fun unaryOperationFunction(operation: String): (E) -> E
Dynamically dispatches an unary operation with the certain name.

Inheritors

FunctionalExpressionAlgebra
Link copied to clipboard
SimpleAutoDiffField
Link copied to clipboard

Extensions

binding
Link copied to clipboard
common
fun <T, E> ExpressionAlgebra<T, E>.binding(): ReadOnlyProperty<Any?, E>
Bind a symbol by name inside the ExpressionAlgebra