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)}