List operators
at
(at key-field some-object)(at key-field some-object)- takes
key-field:string - takes
some-obect:{object _any type_} - produces any type
(at index some-list)(at index some-list)- takes
index:integer - takes
some-list:[list _any type_] - produces any type
projection
Supported in either invariants or properties.
length
(length s)(length s)- takes
s: [a] - produces
integer
List length
Supported in either invariants or properties.
contains
(contains x xs)(contains x xs)- takes
x: a - takes
xs: [a] - produces
bool
(contains k o)(contains k o)- takes
k:string - takes
o:object - produces
bool
(contains value string)(contains value string)- takes
value:string - takes
string:string - produces
bool
List / string / object contains
Supported in either invariants or properties.
enumerate
(enumerate from to step)(enumerate from to step)- takes
from:integer - takes
to:integer - takes
step:integer - produces [
integer]
Returns a sequence of numbers as a list
Supported in either invariants or properties.
reverse
(reverse xs)(reverse xs)- takes
xs: [a] - produces [a]
reverse a list of values
Supported in either invariants or properties.
sort
(sort xs)(sort xs)- takes
xs: [a] - produces [a]
sort a list of values
Supported in either invariants or properties.
drop
(drop n xs)(drop n xs)- takes
n:integer - takes
xs: [a] - produces [a]
drop the first n values from the beginning of a list (or the end if n is
negative)
Supported in either invariants or properties.
take
(take n xs)(take n xs)- takes
n:integer - takes
xs: [a] - produces [a]
take the first n values from xs (taken from the end if n is negative)
Supported in either invariants or properties.
make-list
(make-list n a)(make-list n a)- takes
n:integer - takes
a: a - produces [a]
create a new list with n copies of a
Supported in either invariants or properties.
map
(map f as)(map f as)- takes
f: a -> b - takes
as: [a] - produces [b]
apply f to each element in a list
Supported in either invariants or properties.
filter
(filter f as)(filter f as)- takes
f: a ->bool - takes
as: [a] - produces [a]
filter a list by keeping the values for which f returns true
Supported in either invariants or properties.
distinct
(distinct xs)(distinct xs)- takes
xs: [a] - produces [a]
returns a list of distinct values
Supported in either invariants or properties.
fold
(fold f a bs)(fold f a bs)- takes
f: a -> b -> a - takes
a: a - takes
bs: [b] - produces a
reduce a list by applying f to each element and the previous result
Supported in either invariants or properties.
hash
(hash xs)(hash xs)- takes
xs: [a] - produces
string - where a is of type
integer,decimal,bool, orstring
BLAKE2b 256-bit hash of lists
Supported in properties only.