1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
\DOC undefine
\TYPE {undefine : 'a -> ('a, 'b) func -> ('a, 'b) func}
\SYNOPSIS
Remove definition of a finite partial function on specific domain value.
\DESCRIBE
This is one of a suite of operations on finite partial functions, type
{('a,'b)func}. These may sometimes be preferable to ordinary functions since
they permit more operations such as equality comparison, extraction of domain
etc. The call {undefine x f} removes a definition for the domain value {x} in
the finite partial function {f}; if there was none to begin with the function
is unchanged.
\FAILURE
Never fails.
\EXAMPLE
{
# let f = itlist I [1 |-> "1"; 2 |-> "2"; 3 |-> "3"] undefined;;
val f : (int, string) func = <func>
# dom f;;
val it : int list = [1; 2; 3]
# dom(undefine 2 f);;
val it : int list = [1; 3]
}
\SEEALSO
|->, |=>, apply, applyd, choose, combine, defined, dom, foldl, foldr,
graph, is_undefined, mapf, ran, tryapplyd, undefined.
\ENDDOC
|