package ego

  1. Overview
  2. Docs

The module type ANALYSIS encodes the data-types for an abstract EClass analysis over EGraphs.

type t

Represents any persistent state that an analysis may need to track separately from each EClasses.

Note: Terms of this type must be mutated imperatively as the EGraph API doesn't provide any functions to functionally update the persisted state.

type data

Represents the additional analysis information that we will be attached to each EClass.

val pp_data : Format.formatter -> data -> unit

pp_data fmt data pretty prints data using the formatter fmt.

val show_data : data -> string

show_data data converts data into a string.

val equal_data : data -> data -> bool

equal_data d1 d2 returns true iff d1, d2 are equal.

val default : data

Represents a default abstract value for new nodes.


Innovation. Community. Security.