Expand description

Utilities and implementations for abstract interpretation of crate::plan::Plan structures.

Modules

Structs

  • An entry in an Interpreter context.
  • A wrapper for a recursive fold invocation over a Plan that cannot mutate its input.
  • A wrapper for a recursive fold invocation over a Plan that can mutate its input.
  • An Interpreter context.
  • Represents a boolean physical monotonicity property, where the bottom value is true (i.e., physically monotonic) and the top value is false (i.e. not physically monotonic).
  • Provides a concrete implementation of an interpreter that determines if the output of Plan expressions is physically monotonic in a single-time dataflow, potentially taking into account judgments about its inputs. We note that in a single-time dataflow, expressions in non-recursive contexts (i.e., outside of LetRec values) process streams that are at a minimum logically monotonic, i.e., may contain retractions but would cease to do so if consolidated. Detecting physical monotonicity, i.e., the absence of retractions in a stream, enables us to disable forced consolidation whenever possible.

Traits

Type Definitions