package ocaml-base-compiler
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Official release 5.2.1
Install
dune-project
Dependency
Authors
Maintainers
Sources
ocaml-5.2.1.tar.gz
sha256=2d0f8090951a97a2c0e5b8a11e90096c0e1791d2e471e4a67f87e3b974044cd0
doc/compiler-libs.common/Diffing_with_keys/index.html
Module Diffing_with_keys
When diffing lists where each element has a distinct key, we can refine the diffing patch by introducing two composite edit moves: swaps and moves.
Swaps exchange the position of two elements. Swap cost is set to 2 * change - epsilon. Moves change the position of one element. Move cost is set to delete + addition - epsilon.
When the cost delete + addition is greater than change and with those specific weights, the optimal patch with Swaps and Moves can be computed directly and cheaply from the original optimal patch.
val with_pos : 'a list -> 'a with_pos listtype ('l, 'r, 'diff) change = | Change of ('l, 'r, 'diff) mismatch| Swap of {}| Move of {}| Insert of {}| Delete of {}
This specialized version of changes introduces two composite changes: Move and Swap
val prefix : Format.formatter -> ('l, 'r, 'diff) change -> unitmodule Define (D : Diffing.Defs with type eq := unit) : sig ... end sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>