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.