SortedRun.merge_go: def of mylsm-lsm-store@0.6.0.1 Import: import mylsm-lsm-store@0.6.0.1/src/SortedRun.bend as SortedRun Lines 223-242 of mylsm-lsm-store@0.6.0.1/src/SortedRun.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.6.0.1/src/SortedRun.bend&start_line=223&end_line=242 import Base import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable # Merge go for the sorted-run operations. def merge_go( fuel: Nat, state: List<&2, MemTable.Entry> & List<&2, MemTable.Entry> & List<&2, MemTable.Entry> ) -> List<&2, MemTable.Entry>: match fuel: case 0n: (acc, newer, older) = state List.reverse.go(&2, MemTable.Entry, acc, List.append(&2, MemTable.Entry, newer, older)) case 1n+f: (acc, newer, older) = state match newer older: case Nil{} Nil{}: List.reverse(&2, MemTable.Entry, acc) case Nil{} rest: List.reverse.go(&2, MemTable.Entry, acc, rest) case rest Nil{}: List.reverse.go(&2, MemTable.Entry, acc, rest) case Con{+nh, nt} Con{+oh, ot}: merge_go(f, merge_step(entry_cmp(nh, oh), nh, nt, oh, ot, acc)) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.reverse https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.reverse.go https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/MemTable.bend&name=Entry https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/SortedRun.bend&name=entry_cmp https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/SortedRun.bend&name=merge_step