CallableExpressions.ExpressionTypeAliases
— ModuleExpressionTypeAliases
A module exporting several type aliases.
CallableExpressions.ExpressionTypeAliases.Constant
— TypeConstant::Type
Constant.
CallableExpressions.ExpressionTypeAliases.Expression
— TypeExpression::Type
Proper expression, i.e., non-leaf expressions.
CallableExpressions.ExpressionTypeAliases.ExpressionLoosely
— TypeExpressionLoosely::Type
Union{Constant,Variable,Expression}
.
CallableExpressions.ExpressionTypeAliases.Variable
— TypeVariable::Type
Variable.
CallableExpressions.DynamicConstants.DynamicConstant
— TypeDynamicConstant(value)
Constructor for a constant.
CallableExpressions.DynamicExpressions.DynamicExpression
— TypeDynamicExpression(children, operation_key, operations)
Constructor for an expression.
CallableExpressions.DynamicVariables.DynamicVariable
— TypeDynamicVariable(name)
Constructor for a variable.
CallableExpressions.MoreStaticExpressions.MoreStaticExpression
— TypeMoreStaticExpression{<:Any,Operation}(children)
Constructor for an expression, keeping the operation in the type domain.
CallableExpressions.StaticConstants.StaticConstant
— TypeStaticConstant{value}()
Constructor for a constant, keeping the value in the type domain.
CallableExpressions.StaticExpressions.StaticExpression
— TypeStaticExpression(children, operation)
Constructor for an expression.
CallableExpressions.StaticVariables.StaticVariable
— TypeStaticVariable{Name}()
Constructor for a variable, keeping the name in the type domain.
CallableExpressions.ExpressionChildren.expression_children
— Functionexpression_children(expression)
Returns the immediate children of the given expression.
CallableExpressions.ExpressionIntoTypeDomain.expression_into_type_domain
— Functionexpression_into_type_domain(expression)
Returns an expression equal to expression
whose data is completely contained in the type domain.
May throw in case Julia isn't able to use a relevant value as a type parameter.
Some properties, should hold for any valid expr
:
Base.issingletontype(typeof(expression_into_type_domain(expr)))
expr == expression_into_type_domain(expr)
CallableExpressions.ExpressionIsConstant.expression_is_constant
— Functionexpression_is_constant(expression)::Bool
Return true
if and only if expression is constant, in the sense of not depending on any variable.
CallableExpressions.ExpressionMapMatched.expression_map_matched
— Functionexpression_map_matched(predicate, mapping, expression)
Returns an expression based on expression
, but with mapping
applied to each matching subexpression. The argument predicate
determines whether an expression is matching.
CallableExpressions.ExpressionMetadata.expression_metadata
— Functionexpression_metadata(expression)
Returns the metadata associated with an expression. See expression_new.
CallableExpressions.ExpressionNew.expression_new
— Functionexpression_new(expression_type::Type, operation, children, metadata)
Returns an expression whose type is based on expression_type
, but with children
as its immediate children and with operation
as its top-level operation.
The metadata
argument may carry additional necessary data. Use nothing
as the default.
CallableExpressions.ExpressionOperation.expression_operation
— Functionexpression_operation(expression)
Returns the top-level operation of the given expression.
CallableExpressions.ExpressionWithChildren.expression_with_children
— Functionexpression_with_children(expression, children)
Returns an expression based on expression
, but with children
as its immediate children.