Nome |
Tipo |
Efeito |
null |
'a list ->
bool |
[null xs]
é verdadeiro se xs é nulo(nil) |
hd |
'a list -> 'a |
[hd xs]
retorna o primeiro elemento de xs; se xs for nulo, retorna vazio |
tl |
'a list -> 'a list |
[tl xs]
retorna todos elementos menos o primeiro; se xs for nulo, retorna vazio |
last |
'a list -> 'a |
[last xs]
retorna o último elemento de xs; se xs for nulo, retorna vazio |
nth |
'a list * int ->'a |
[nth(xs,i)]
retorna o i'ésimo elemento de xs, a partir de zero |
take |
'a list * int ->'a
list |
[take(xs,i)]
retorna os i primeiros elementos de xs |
drop |
'a list *int -> '
a list |
[drop
(xs,i)] retorna o que vem depois dos i primeiros elementos |
length |
'a list -> int |
[length xs]
retorna o número de elementos da lista xs |
rev |
'a list -> 'a list |
[rev xs] retrona
a lista xs invertida |
@ |
'a list * 'a list
->'a list |
[xs @ ys]
retorna a lista resultante da concatenação de xs com ys |
concat |
'a list list -> 'a
list |
[concat xss]
retorna uma lista que é a concatenação de todas as listas de xss |
revAppend |
'a list *'a list
->'a list |
[revAppend
(xs,ys)] é equivalente a fazer rev xs@ys, porém é mais eficiente |
app |
('a-> unit)->'a
list ->'a list |
[app f xs]
aplica f aos elementos de xs, da esquerda para a direita |
map |
('a->'b)->'a
list ->'b list |
[map f xs]aplica
f para cada elemento x de xs, da esquerda para a direita, e retorna a lista de resultados |
mapPartial |
('a-> 'b
option)->'a list -> 'b list |
[mapPartial
f xs]aplica f a cada elemento de x de xs, da esquerda para a direita, e retorna
a lista dos y's para os quais f(x) foi avaliado para algum y |
find |
('a->boll)->'a
list->'a option |
[find p xs]
aplica f para cada elemento x de xs, da esquerda para a direita até que avaliação
de p(x) seja verdadeira; retorna algum x caso este x exista, caso contrário não retorna
nada |
filter |
('a->boll)->'a
list->'a list |
[filter p
xs] aplica p para cada elemento x de xs, da esquerda para a direita e retorna a
sublista formada por aqueles x para os quais a avaliação de p(x) foi verdadeira |
partition |
('a->boll)->'a
list->('a list * 'a list) |
[partition p
xs]aplica p a cada elemento x de xs, da esquera para a direita, e retorna um
par(pos,neg) onde pos é uma sublista com elementos x para os quais p(x) foi avaliado
como verdadeiro, e neg é uma sublista composta daqueles x para os quais p(x) foi
avaliado como falso. |
foldr |
('a *
b'->'b)->'b -> 'a list ->b' |
[foldr op% e
xs] avalia x1 %(x2%(..%(x(n-1)%(xn%e))...)), onde xs =[x1,x2,...,x(n-1),xn], e %
é examinado para ser infixado. |
foldl |
('a *
b'->'b)->'b -> 'a list ->b' |
[foldl op %
e xs]avalia x1 % (x2 % ( ... % (x(n-1) % (xn % e)) ... )), onde xs
=[x1,x2,...,x(n-1),xn], e % é determinado para ser infixado |
exists |
('a ->bool) ->
'a list -> bool |
[ exists p
xs] aplica p para cada elemento x de xs, da esquerda para a direita até que o
valor de p(x) seja verdadeiro; retorna verdadeiro caso existir tal x e falso caso contrário |
all |
('a ->bool) ->
'a list -> bool |
[all p xs]
aplica p para cada elemento x de xs, da esquerda para a direita até que
o valor de p(x) seja falso; retorna falso caso exista um x, e verdadeiro caso contrário |
tabulate |
int * (int -> 'a)
-> 'a list |
[ tabulate
(n,f)]retorna uma lista de tamanho n cujos elementos são
f(0),f(1),....,f(n-1), criada da esquerda para direita; há aumento no tamanho quando
n<0 |
getItem |
'a list -> ('a *
'a list) |
[getItem
xs] usado para extrair um elemento da lista xs; nada é retornado se xs é
vazia e retorna algum(x,xr) se xs= x::xr; isto pode ser usado para percorrer booleanos,
inteiros, reais e uma lista de caracteres |