Module ast

Module ast 

Source

Re-exports§

pub use declaration::DeclarationKind;
pub use declaration::DeclarationPtr;
pub use eval::eval_constant;

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.
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.
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§

run_partial_evaluator

Type Aliases§

DomainPtr