## null-or.api
# Compiled by:
#
src/lib/std/src/standard-core.sublibapi Null_Or {
Null_Or X
=
NULL
| THE X;
exception NULL_OR;
the_else: ((Null_Or(X), X)) -> X;
not_null: Null_Or(X) -> Bool;
the: Null_Or(X) -> X;
filter: (X -> Bool) -> X -> Null_Or(X);
join: Null_Or( Null_Or(X) ) -> Null_Or(X);
apply: (X -> Void) -> Null_Or(X) -> Void; # fun apply f (THE x) => f x; apply f NULL => (); end;
map: (X -> Y) -> Null_Or(X) -> Null_Or(Y); # fun map f (THE x) => THE (f x); map f NULL => NULL; end;
map': (X -> Null_Or(Y)) -> Null_Or(X) -> Null_Or(Y); # fun map' f (THE x) => f x; map' f NULL => NULL; end;
compose: (((X -> Y), (Z -> Null_Or(X)))) -> Z -> Null_Or(Y);
compose_partial: (((X -> Null_Or(Y)), (Z -> Null_Or(X)))) -> Z -> Null_Or(Y);
};
## COPYRIGHT (c) 1997 AT&T Labs Research.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.