Module ast

Module ast 

Source

Modules§

ac_operators
categories
comprehension
declaration
eval
matrix
Utility functions for working with matrices.
pretty
Functions for pretty printing Conjure models.
records
serde
Serde serialization/ deserialization helpers.

Structs§

CnfClause
DecisionVariable
Represents a decision variable within a computational model.
DeclarationPtr
A shared pointer to a [Declaration].
FuncAttr
Metadata
Model
An Essence model.
Moo
A clone-on-write, reference counted pointer to an AST type.
RecordEntry
RecordEntryGround
Reference
A reference to a declaration (variable, parameter, etc.)
SerdeModel
A model that is de/serializable using serde.
SetAttr
SubModel
A sub-model, representing a lexical scope in the model.
SymbolTable
The global symbol table, mapping names to their definitions.

Enums§

AbstractLiteral
Atom
An Atom is an indivisible expression, such as a literal or a reference.
DeclarationKind
A specific kind of declaration.
Domain
DomainOpError
An error thrown by an operation on domains.
Expression
Represents different types of expressions used to define rules and constraints in the model.
GroundDomain
IntVal
JectivityAttr
Literal
A literal value, equivalent to constants in Conjure.
Name
A reference to an object stored in the [SymbolTable].
PartialityAttr
Range
ReturnType
UnresolvedDomain

Traits§

HasDomain
Types that have a Domain.
Typeable
Guaranteed to always typecheck

Functions§

eval_constant
Simplify an expression to a constant if possible Returns: None if the expression cannot be simplified to a constant (e.g. if it contains a variable) Some(Const) if the expression can be simplified to a constant
run_partial_evaluator

Type Aliases§

DomainPtr