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).
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.NoChange — Type
NoChangeSingleton to indicate the value did not change.
Gen.UnknownChange — Type
UnknownChangeSingleton to indicate the change to the value is unknown or unprovided.
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.Diffed — Type
Diffed{V,DV <: Diff}
Container for a value and information about a change to its value.