Change Hints

Gen defines a system of change hints, or Diff types, in order to pass information to and from generative functions about whether their arguments and return values have changed (and how).

Gen.DiffType
Diff

Abstract supertype for information about a change to a value.

source

Change hints are used to support incremental computation in generative function combinators and the static modeling language. The most important change hints are NoChange and UnknownChange, which respectively indicate that a value has not changed and that a value may have changed in an unknown way.

Gen.UnknownChangeType
UnknownChange

Singleton to indicate the change to the value is unknown or unprovided.

source

A number of other change hints are also implemented in Gen, such as IntDiff, VectorDiff, and SetDiff and DictDiff, which support incremental computation for certain operations when applied to Diffed values. These change hints are not documented, and are currently considered an implementation detail.

Gen.DiffedType

Diffed{V,DV <: Diff}

Container for a value and information about a change to its value.

source