def distance
bend-edit-distance@0.2.2.0 · src/Myers.bend:686
import bend-edit-distance@0.2.2.0/src/Myers.bend as Myers
import Base
import bend-edit-distance@0.2.2.0/src/Sequence.bend as S
686def distance(query: String, target: String) -> Nat:
687 match query target:
688 case SNil{} _:
689 S.length(target)
690 case SCon{h, t} SNil{}:
691 1n+S.length(t)
692 case SCon{qh, qt} SCon{th, tt}:
693 +q = {SCon{qh, qt} : String}
694 +t = {SCon{th, tt} : String}
695 +qn +tn = S.length(q) S.length(t)
696 align_shorter(q, t, qn, tn, Nat.is_le(qn, tn))