package diff
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Diff
Source
This module contains what might be described as faux lenses. This includes support for composition, getting, setting, etc.
Specifies how the record should be traversed when a diff is computed.
leaf ~field ~equal
is a terminal node in the spec tree.
When computing a diff, the fields are gotten using Field.get
and compared with equal
. If the values are not equal, the diff includes the new value.
child ~field ~spec
is an intermediate node in the spec tree.
When computing a diff, the diff for the children is recursively computed.
opt_child ~field ~spec
is an optional intermediate node in the spec tree.
When computing a diff, the diff for the children is recursively computed if the child is present.
Represents a difference between two records of the same type.
compute v0 v1 spec
returns a list of all the differences between v0
and v1
using spec
to traverse the values.