Huahai Yang
Huahai Yang
Currently, a MapEntry is treated as a data value `:val`. Is it desirable to treat it as a data type of its own? If the use case is common enough,...
Sounds reasonable. I will get to it when I get some time.
Maybe think about ways to make this extensible.
interesting idea, I will think about it.
Our current definition of diff size is the number of nodes in the diff data structure. The structural editing examples you show above do not actually reduce the diff size,...
The known algorithm for three-way merge works for linear text. E.g. https://www.cis.upenn.edu/~bcpierce/papers/diff3-short.pdf This may or may not be easy to adapt for tree merging. I have not investigated this in...
For your first paragraph, yes, the editscript is designed to do just that. `(get-edits e)` return a vector. These vectors can be concatenated to represent a larger change. BTW, I...
@EmergentBehavior You scenario sounds similar to mine. Given an editscript, there are indeed some opportunities to optimize, e.g. if one sub-tree will later be deleted, all edits happened inside that...
Implementing some obvious optimizations should be a good starting point.
For keys, needs order preserving compression, e.g. https://scholar.google.com/scholar?hl=en&as_sdt=0%2C10&q=+Order+Preserving+Key+Compression For values, a high speed and high compression ratio algorithm, e.g. lz4