This patch implements a diffing algorithm. When a "set" operation is performed (either directly by the client, or via the implementation of
The diffing algorithm for lists is based on computing the longest common subsequence (based on standard recursion plus memoization). This is of quadratic complexity in the worst case, but I suspect our implementation performs decently in practice.
Most functions have gained an
As a side-effect, the mutable lists kept internally have been replaced by signals. I think the new implementation of
The text was updated successfully, but these errors were encountered: