Modules

Traits

A trait capturing the notion of a type where a delta can be computed between two of its items. For example, given a1=[0,1,2] and a2=[1,1,2], we could compute a delta d such that a1.transform_into(d) returns a2. Observe that the delta has an orientation which (implicitly) means it goes from this item to the other,
A trait capturing the essence of an incremental computation from self to some item T. This is similar to the Into trait, but with the ability to work with deltas. To understand this, consider the following:
A trait describing something which can be transformed by applying a delta. For example, an array [0,1,2] can be transformed into another [3,1,2] by applying a delta which assigns element 0 to 3. This trait describes the functional case, where the receiver is not modified. Furthermore, this trait allows for the possibility that the transformation may not succeed.
A trait describing something which can be transformed in place by applying a delta. For example, an array [0,1,2] can be transformed into another [3,1,2] by applying a delta which assigns element 0 to 3. This trait describes the imperatice case where the receiver is modified in place. Furthermore, this trait allows for the possibility that an error is returned.
A trait describing something which can be transformed in place by applying a delta. For example, an array [0,1,2] can be transformed into another [3,1,2] by applying a delta which assigns element 0 to 3. This trait describes the imperative case where the receiver is modified in place.
A trait describing something which can be transformed by applying a delta. For example, an array [0,1,2] can be transformed into another [3,1,2] by applying a delta which assigns element 0 to 3. This trait describes the functional case, where the receiver is not modified.