def tree_set_word

mylsm-lsm-store@0.3.2.0 · src/BitTree.bend:132

import mylsm-lsm-store@0.3.2.0/src/BitTree.bend as BitTree
import Base

132def tree_set_word(path: List<&2, Bool>, value: U32, tree: WordTree) -> WordTree:
133  match path tree:
134    case Nil{} Empty{}:
135      Empty{}
136    case Nil{} Leaf{word}:
137      Leaf{value}
138    case Nil{} Fork{left, right}:
139      Fork{left, right}
140    case Con{side, rest} Empty{}:
141      Empty{}
142    case Con{side, rest} Leaf{word}:
143      Leaf{word}
144    case Con{False{}, rest} Fork{left, right}:
145      Fork{tree_set_word(rest, value, left), right}
146    case Con{True{}, rest} Fork{left, right}:
147      Fork{left, tree_set_word(rest, value, right)}

Uses (4)

Used by (1)