Expand description
Tools for defining the semantics of Lustre.
Modules§
- candle
- Syntax and semantics of the Candle language.
- macros
- The macros that define the semantics of Candle by translating it to Rust.
- nillable
- Possibly uninitialized values.
- registers
- Stateful expressions
- stepping
- Some traits to make error messages of Candle less obscure.
- time_
travel - Fixed-size streams of values.
- traits
- Stream traits.
Macros§
- assert_
is - Identity assertion.
- binop
- Application of a binary operator. (pure)
- cmp
- Comparison operators on
Nillable
. (pure) - float
- Convert from
int
tofloat
. (pure) - ifx
- Conditional on
Nillable
s. (pure) - implicit_
clock - Read the inputs of the node and immediately return if
the implicit clock is inactive, i.e. if the first element of the arguments
is
nil
. - later
- The
->
Lustre operator. (pure) - lit
- Wrap a value as a
Nillable
. (pure) - merge
- Merge two streams (equivalent to
ifx
) (pure) - nil
- The uninitialized value. (pure)
- node_
trace - Conditional debug printing. (pure)
- substep
- Invocation of subnodes. [side-effects: only call once for each node id]
- tick
- Increment the internal clock. [side-effects: only call once at the end]
- truth
- Assert that a boolean holds. (statement)
- ty
- Convert a Candle type into its internal Rust representation.
- unop
- Application of a unary operator. (pure)
- update
- Remember a variable for the next iteration.
- var
- Fetch a variable from the environment. (pure)
- when
- Select only when the guard is true. (pure)
- whenot
- Select only when the guard is true. (pure)