Lines Matching defs:del
309 fun del (SOME k) Empty = raise UNDEF k
310 | del NONE (Branch2 (Empty, p, Empty)) = (p, (true, Empty))
311 | del NONE (Branch3 (Empty, p, Empty, q, Empty)) =
313 | del k (Branch2 (Empty, p, Empty)) = (case compare k p of
315 | del k (Branch3 (Empty, p, Empty, q, Empty)) = (case compare k p of
320 | del k (Branch2 (l, p, r)) = (case compare k p of
321 LESS => (case del k l of
328 | _ => raise Fail "Impossible case - table.del Branch2-LESS"))
329 | ord => (case del (if_eq ord NONE k) r of
336 | _ => raise Fail "Impossible case - table.del Branch2-<any>")))
337 | del k (Branch3 (l, p, m, q, r)) = (case compare k q of
339 LESS => (case del k l of
349 | _ => raise Fail "Impossible case - Table.del LESS-LESS")))
350 | ord => (case del (if_eq ord NONE k) m of
362 | _ => raise Fail "Impossible case - Table.del LESS-<any>"))))
363 | ord => (case del (if_eq ord NONE k) r of
375 | _ => raise Fail "Impossible case - Table.del <any>"))))
376 | del _ _ = raise Fail "Impossible case - Table.del <topmost defn>";
380 fun delete key tab = snd (snd (del (SOME key) tab));