Lists.sort.pass: def of bend-lint-api@0.2.0.0 Import: import bend-lint-api@0.2.0.0/shared/lists.bend as Lists Lines 70-84 of bend-lint-api@0.2.0.0/shared/lists.bend: https://jend.leeeet.dev/read.txt?path=bend-lint-api@0.2.0.0/shared/lists.bend&start_line=70&end_line=84 import Base # One pass: each two runs merged, in order. def sort.pass( ~A: Data, ~le: A -> A -> Bool, +n: Nat, runs: List<&2, List<&2, A>>, out: List<&2, List<&2, A>> ) -> List<&2, List<&2, A>>: match runs: case Nil{}: List.reverse(&2, List<&2, A>, out) case Con{r, Nil{}}: List.reverse(&2, List<&2, A>, r <> out) case Con{r1, Con{r2, rest}}: sort.pass(~A, ~le, n, rest, List.merge.go(~A, ~le, n, (Nil{}, r1, r2)) <> out) Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.merge.go https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.reverse https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma