def scan_step

mylsm-lsm-store@0.6.0.1 · src/MemTable.bend:64

import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
import Base

64# Scan state machine (Base List.merge pattern): the driver matches fuel +
65# structural state only; the leaf folds one entry (done-flag freezes the
66# answer — including tombstone None, which hides older versions).
67def scan_step(done: Bool, eq: Bool, hv: Maybe<&2, String>, ans: Maybe<&2, String>) -> (Bool & Maybe<&2, String>):
68  match done:
69    case True{}:
70      (True{}, ans)
71    case False{}:
72      match eq:
73        case True{}:
74          (True{}, hv)
75        case False{}:
76          (False{}, ans)

Uses (5)

Used by (3)