def OMap.del

bend-kit-collections@0.1.4.1 · omap.bend:190

import bend-kit-collections@0.1.4.1/omap.bend as Omap
import Base

190def OMap.del(
191  ~K: Data, ~V: Data, ~cmp: K -> K -> Cmp, m: OMap<K, V>, +k: K
192) -> OMap<K, V>:
193  match m:
194    case OTip{}:
195      OTip{}
196    case OBin{s, +key, +val, +lo, +hi}:
197      Cmp.case(OMap<K, V>, cmp(k, key),
198        u => OMap.balance(K, V, key, val, OMap.del(~K, ~V, ~cmp, lo, k), hi),
199        u => OMap.glue(K, V, lo, hi),
200        u => OMap.balance(K, V, key, val, lo, OMap.del(~K, ~V, ~cmp, hi, k)))

Uses (5)

Used by (11)