def g_del

bend-kit-collections@0.1.4.1 · LAWS.bend:357

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

357def g_del(
358  ~K: Data, ~V: Data, ~cmp: K -> K -> Cmp, m: O.OMap<K, V>, +k: K
359) -> O.OMap<K, V>:
360  match m:
361    case O.OTip{}:
362      O.OTip{}
363    case O.OBin{+s, +key, +val, +lo, +hi}:
364      O.Cmp.case(O.OMap<K, V>, cmp(k, key),
365        u => g_balance(K, V, key, val, g_del(~K, ~V, ~cmp, lo, k), hi),
366        u => g_glue(K, V, lo, hi),
367        u => g_balance(K, V, key, val, lo, g_del(~K, ~V, ~cmp, hi, k)))

Uses (5)

Used by (3)