Questo modulo definisce varie utilità di programmazione funzionale da usare nel corso dell'implementazione.
Function or value | Description |
Full Usage:
(<*) f g x
Parameters:
'c -> 'd
g : 'e -> 'c
x : 'e
Returns: 'd
|
|
Full Usage:
(||>>) f g (x, y)
Parameters:
'a -> 'b
g : 'c -> 'd
x : 'a
y : 'c
Returns: 'b * 'd
|
|
Full Usage:
append xs ys
Parameters:
'a list
ys : 'a list
Returns: 'a list
|
|
Full Usage:
arg1_fn x y
Parameters:
'a
y : 'b
Returns: 'a
|
|
|
|
Full Usage:
assert1 b (func, msg)
Parameters:
bool
func : string
msg : string
|
|
Full Usage:
assoc x xys
Parameters:
'a
xys : ('a * 'b) list
Returns: 'b
|
|
Full Usage:
can f x
Parameters:
'a -> 'b
x : 'a
Returns: bool
|
|
Full Usage:
cannot f x
Parameters:
'a -> 'b
x : 'a
Returns: bool
|
|
Full Usage:
char_escape c
Parameters:
char
Returns: string
|
|
Full Usage:
char_explode x
Parameters:
string
Returns: char list
|
|
Full Usage:
char_implode cs
Parameters:
char list
Returns: string
|
|
Full Usage:
check p x
Parameters:
'a -> bool
x : 'a
Returns: 'a
|
|
Full Usage:
cons x xs
Parameters:
'a
xs : 'a list
Returns: 'a list
|
|
Full Usage:
curry f x y
Parameters:
'a * 'b -> 'c
x : 'a
y : 'b
Returns: 'c
|
|
Full Usage:
cut n xs
Parameters:
int
xs : 'a list
Returns: 'a list * 'a list
|
|
Full Usage:
cut_while p xs
Parameters:
'd -> bool
xs : 'd list
Returns: 'd list * 'd list
|
|
Full Usage:
cut_while0 p ys xs
Parameters:
'a -> bool
ys : 'a list
xs : 'a list
Returns: 'a list * 'a list
|
|
Full Usage:
dbl_arg f x
Parameters:
'a -> 'a -> 'b
x : 'a
Returns: 'b
|
|
Full Usage:
decrement n
Parameters:
int
Returns: int
|
|
Full Usage:
disjoint xs ys
Parameters:
'a list
ys : 'a list
Returns: bool
|
|
Full Usage:
disjoint' eq xs ys
Parameters:
'a -> 'b -> bool
xs : 'a list
ys : 'b list
Returns: bool
|
|
Full Usage:
do_map f xs
Parameters:
'a -> unit
xs : 'a list
|
|
Full Usage:
el n xs
Parameters:
int
xs : 'f list
Returns: 'f
|
|
Full Usage:
el0 n xs
Parameters:
int
xs : 'a list
Returns: 'a
|
|
Full Usage:
enumerate xs
Parameters:
'a list
Returns: (int * 'a) list
|
|
Full Usage:
enumerate0 n xs
Parameters:
int
xs : 'a list
Returns: (int * 'a) list
|
|
Full Usage:
exists p xs
Parameters:
'a -> bool
xs : 'a list
Returns: bool
|
|
Full Usage:
explode x
Parameters:
string
Returns: string list
|
|
Full Usage:
filter p xs
Parameters:
'b -> bool
xs : 'b list
Returns: 'b list
|
|
Full Usage:
find p xs
Parameters:
'a -> bool
xs : 'a list
Returns: 'a
|
|
Full Usage:
flatten xss
Parameters:
'a list list
Returns: 'a list
|
|
Full Usage:
foldl f a xs
Parameters:
'a -> 'b -> 'a
a : 'a
xs : 'b list
Returns: 'a
|
Applica l'operatore binario curried fornito sugli elementi della lista fornita, da sinistra a destra, iniziando con l'operatore applicato all'argomento extra fornito e al primo elemento della lista. Restituisce l'argomento extra se la lista è vuota. foldl (+) a [x1;x2;..;xn] == (..((a + x1) + x2) + ..) + xn
|
Full Usage:
foldl' mk_fn (x, xs)
Parameters:
'a * 'b -> 'a
x : 'a
xs : 'b list
Returns: 'a
|
|
Full Usage:
foldl1 f xs
Parameters:
'a -> 'a -> 'a
xs : 'a list
Returns: 'a
|
|
Full Usage:
foldl1' mk_fn xs
Parameters:
'a * 'a -> 'a
xs : 'a list
Returns: 'a
|
|
Full Usage:
foldr f xs a
Parameters:
'a -> 'b -> 'b
xs : 'a list
a : 'b
Returns: 'b
|
Applica l'operatore binario curried fornito sugli elementi della lista fornita, da destra a sinistra, iniziando con l'operatore applicato all'ultimo elemento della lista e all'argomento extra fornito. Restituisce l'argomento estra se la lista è vuota. foldr (+) [x1;x2;..;xn] a == x1 + (x2 + (.. + (xn + a)..))
|
Full Usage:
foldr' mk_fn (xs, x)
Parameters:
'a * 'b -> 'b
xs : 'a list
x : 'b
Returns: 'b
|
|
Full Usage:
foldr1 f xs
Parameters:
'a -> 'a -> 'a
xs : 'a list
Returns: 'a
|
|
Full Usage:
foldr1' mk_fn xs
Parameters:
'a * 'a -> 'a
xs : 'a list
Returns: 'a
|
|
Full Usage:
forall p xs
Parameters:
'a -> bool
xs : 'a list
Returns: bool
|
|
Full Usage:
forall2 p l1 l2
Parameters:
'a -> 'b -> bool
l1 : 'a list
l2 : 'b list
Returns: bool
|
|
Full Usage:
front xs
Parameters:
'a list
Returns: 'a list
|
|
Full Usage:
front_last xs
Parameters:
'a list
Returns: 'a list * 'a
|
|
Full Usage:
fst_filter p xys
Parameters:
'a -> bool
xys : ('a * 'b) list
Returns: ('a * 'b) list
|
|
Full Usage:
fst_map f xys
Parameters:
'a -> 'b
xys : ('a * 'c) list
Returns: ('b * 'c) list
|
|
Full Usage:
funpow n f x
Parameters:
int
f : 'a -> 'a
x : 'a
Returns: 'a
|
|
Full Usage:
hd xs
Parameters:
'a list
Returns: 'a
|
|
Full Usage:
hd_tl xs
Parameters:
'a list
Returns: 'a * 'a list
|
|
Full Usage:
id_fn x
Parameters:
'a
Returns: 'a
|
|
Full Usage:
implode xs
Parameters:
string list
Returns: string
|
|
Full Usage:
insert x xs
Parameters:
'a
xs : 'a list
Returns: 'a list
|
|
Full Usage:
insert' eq x xs
Parameters:
'a -> 'a -> bool
x : 'a
xs : 'a list
Returns: 'a list
|
|
Full Usage:
int_of_string str
Parameters:
string
Returns: int
|
|
Full Usage:
intersect xs1 xs2
Parameters:
'a list
xs2 : 'a list
Returns: 'a list
|
|
Full Usage:
intersect' eq xs1 xs2
Parameters:
'a -> 'b -> bool
xs1 : 'a list
xs2 : 'b list
Returns: 'a list
|
|
Full Usage:
inv_assoc y xys
Parameters:
'a
xys : ('b * 'a) list
Returns: 'b
|
|
Full Usage:
is_empty xs
Parameters:
'b list
Returns: bool
|
|
Full Usage:
is_nonempty xs
Parameters:
'b list
Returns: bool
|
|
Full Usage:
last xs
Parameters:
'a list
Returns: 'a
|
|
Full Usage:
length xs
Parameters:
'a list
Returns: int
|
|
Full Usage:
length0 n xs
Parameters:
int
xs : 'a list
Returns: int
|
|
|
|
Full Usage:
list_eq eq xs ys
Parameters:
'a -> 'b -> bool
xs : 'a list
ys : 'b list
Returns: bool
|
|
Full Usage:
map f xs
Parameters:
'a -> 'b
xs : 'a list
Returns: 'b list
|
|
Full Usage:
map2 f xs ys
Parameters:
'a -> 'b -> 'c
xs : 'a list
ys : 'b list
Returns: 'c list
|
|
Full Usage:
mem x xs
Parameters:
'b
xs : 'b list
Returns: bool
|
|
Full Usage:
mem' eq x xs
Parameters:
'a -> 'b -> bool
x : 'a
xs : 'b list
Returns: bool
|
|
Full Usage:
merge r xs ys
Parameters:
'a -> 'a -> bool
xs : 'a list
ys : 'a list
Returns: 'a list
|
|
Full Usage:
mergesort r xs
Parameters:
'a -> 'a -> bool
xs : 'a list
Returns: 'a list
|
|
Full Usage:
no_dups xs
Parameters:
'a list
Returns: bool
|
|
Full Usage:
no_dups' eq xs
Parameters:
'a -> 'a -> bool
xs : 'a list
Returns: bool
|
|
Full Usage:
no_dups0 xs0 xs
Parameters:
'a list
xs : 'a list
Returns: bool
|
|
Full Usage:
no_dups0' eq xs0 xs
Parameters:
'a -> 'a -> bool
xs0 : 'a list
xs : 'a list
Returns: bool
|
|
Full Usage:
pair x y
Parameters:
'a
y : 'b
Returns: 'a * 'b
|
|
Full Usage:
pair_apply (f, g) (x, y)
Parameters:
'a -> 'b
g : 'c -> 'd
x : 'a
y : 'c
Returns: 'b * 'd
|
|
Full Usage:
partition p xs
Parameters:
'a -> bool
xs : 'a list
Returns: 'a list * 'a list
|
|
Full Usage:
quote x
Parameters:
string
Returns: string
|
|
Full Usage:
quote0 x
Parameters:
string
Returns: string
|
|
Full Usage:
repeat f x
Parameters:
'a -> 'a
x : 'a
Returns: 'a
|
|
Full Usage:
report x
Parameters:
string
|
|
Full Usage:
rev xs
Parameters:
'a list
Returns: 'a list
|
|
Full Usage:
rev0 ys xs
Parameters:
'a list
xs : 'a list
Returns: 'a list
|
|
Full Usage:
set_eq xs1 xs2
Parameters:
'a list
xs2 : 'a list
Returns: bool
|
|
Full Usage:
set_eq' eq xs1 xs2
Parameters:
'a -> 'a -> bool
xs1 : 'a list
xs2 : 'a list
Returns: bool
|
|
Full Usage:
setify xs
Parameters:
'a list
Returns: 'a list
|
|
Full Usage:
setify' eq xs
Parameters:
'a -> 'a -> bool
xs : 'a list
Returns: 'a list
|
|
Full Usage:
snd_filter p xys
Parameters:
'a -> bool
xys : ('b * 'a) list
Returns: ('b * 'a) list
|
|
Full Usage:
snd_map f xys
Parameters:
'b -> 'c
xys : ('d * 'b) list
Returns: ('d * 'c) list
|
|
Full Usage:
string_of_int _arg1
Parameters:
int
Returns: string
|
|
Full Usage:
string_variant xs0 x
Parameters:
string list
x : string
Returns: string
|
|
Full Usage:
subset xs1 xs2
Parameters:
'a list
xs2 : 'a list
Returns: bool
|
|
Full Usage:
subset' eq xs1 xs2
Parameters:
'a -> 'b -> bool
xs1 : 'a list
xs2 : 'b list
Returns: bool
|
|
Full Usage:
subtract xs1 xs2
Parameters:
'a list
xs2 : 'a list
Returns: 'a list
|
|
Full Usage:
subtract' eq xs1 xs2
Parameters:
'a -> 'b -> bool
xs1 : 'a list
xs2 : 'b list
Returns: 'a list
|
|
Full Usage:
swap_arg f x y
Parameters:
'a -> 'b -> 'c
x : 'b
y : 'a
Returns: 'c
|
|
Full Usage:
switch (x, y)
Parameters:
'a
y : 'b
Returns: 'b * 'a
|
|
Full Usage:
tl xs
Parameters:
'a list
Returns: 'a list
|
|
|
|
Full Usage:
try1 f x (func, msg)
Parameters:
'a -> 'b
x : 'a
func : string
msg : string
Returns: 'b
|
|
Full Usage:
try2 f x func
Parameters:
'c -> 'd
x : 'c
func : string
Returns: 'd
|
|
Full Usage:
try_filter f xs
Parameters:
'a -> 'b
xs : 'a list
Returns: 'b list
|
|
Full Usage:
try_find f xs
Parameters:
'a -> 'b
xs : 'a list
Returns: 'b
|
|
Full Usage:
uncurry f (x, y)
Parameters:
'a -> 'b -> 'c
x : 'a
y : 'b
Returns: 'c
|
|
Full Usage:
unfold dest_fn x
Parameters:
'a -> 'a * 'a
x : 'a
Returns: 'a list
|
|
Full Usage:
unfold0 dest_fn x xs
Parameters:
'a -> 'a * 'a
x : 'a
xs : 'a list
Returns: 'a list
|
|
Full Usage:
unfoldl dest_fn x
Parameters:
'a -> 'a * 'b
x : 'a
Returns: 'a * 'b list
|
|
Full Usage:
unfoldl0 dest_fn x xs
Parameters:
'a -> 'a * 'b
x : 'a
xs : 'b list
Returns: 'a * 'b list
|
|
Full Usage:
unfoldl1 dest_fn x
Parameters:
'a -> 'a * 'a
x : 'a
Returns: 'a list
|
|
Full Usage:
unfoldr dest_fn x
Parameters:
'a -> 'b * 'a
x : 'a
Returns: 'b list * 'a
|
|
Full Usage:
unfoldr0 dest_fn xs x
Parameters:
'a -> 'b * 'a
xs : 'b list
x : 'a
Returns: 'b list * 'a
|
|
Full Usage:
unfoldr1 dest_fn x
Parameters:
'a -> 'a * 'a
x : 'a
Returns: 'a list
|
|
Full Usage:
union xs1 xs2
Parameters:
'a list
xs2 : 'a list
Returns: 'a list
|
|
Full Usage:
union' eq xs1 xs2
Parameters:
'a -> 'a -> bool
xs1 : 'a list
xs2 : 'a list
Returns: 'a list
|
|
Full Usage:
unions xss
Parameters:
'a list list
Returns: 'a list
|
|
Full Usage:
unions' eq xss
Parameters:
'a -> 'a -> bool
xss : 'a list list
Returns: 'a list
|
|
Full Usage:
unzip xys
Parameters:
('a * 'b) list
Returns: 'a list * 'b list
|
|
Full Usage:
up_to m n
Parameters:
int
n : int
Returns: int list
|
|
Full Usage:
warn x
Parameters:
string
|
|
Full Usage:
zip xs ys
Parameters:
'a list
ys : 'b list
Returns: ('a * 'b) list
|