definition:
|
delete :: Ord k => k -> Map k a -> Map k a
delete _ Tip = Tip
delete del_k (Bin k a _ m_l m_r)
= if del_k < k
then mkBalBranch k a (delete del_k m_l) m_r
else
if del_k == k
then glueBal m_l m_r
else mkBalBranch k a m_l (delete del_k m_r)
|
demand:
|
argument 3
|
deterministic:
|
deterministic operation
|
documentation:
|
--- Deletes key from map.
--- Deletion doesn't complain if you try to delete something
--- which isn't there
|
failfree:
|
(_, _, _)
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{(_,_,{Tip}) |-> {Tip} || (_,_,{Bin}) |-> _}
|
name:
|
delete
|
precedence:
|
no precedence defined
|
result-values:
|
_
|
signature:
|
Prelude.Ord a => a -> Map a b -> Map a b
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|