Module APIs - NetLogo/brazier GitHub Wiki
array
all :: forall t. (t -> Boolean) -> Array t -> Boolean
Whether or not the predicate (1) holds for all values within the array (2)
concat :: forall t. Array t -> Array t -> Array t
The first array (1) with the values of the second array (2) sequentially appended to its end
contains :: forall t. t -> Array t -> Boolean
Whether or not the array (2) contains the element (1)
countBy :: forall t. (t -> String) -> Array t -> Object Number
An object, such that the function (1) maps the items of the array (2) to the object's keys, and any given key's corresponding value is the number of items from the array that mapped to that key
difference :: forall t. Array t -> Array t -> Array t
A copy of the first array (1), with the items of the second array (2) removed from it
exists :: forall t. (t -> Boolean) -> Array t -> Boolean
Whether or not any item within the array (2) meets the given criteria (1)
filter :: forall t. (t -> Boolean) -> Array t -> Array t
A copy of the array (2), containing only the items that meet the criteria (1)
find :: forall t. (t -> Boolean) -> Array t -> Maybe t
A Something
containing the first item within the array (2) that meets the criteria (1); None
if no such thing can be found
findIndex :: forall t. (t -> Boolean) -> Array t -> Maybe Number
A Something
containing the first index at which an item in the array (2) meets the criteria (1); None
if no such thing can be found
flatMap :: forall t u. (t -> Array u) -> Array t -> Array u
Functionally, a copy of the array (2) with each item mapped according to the function (1), and then subjected to a one-level flattening; equivalent to a monadic bind
operation
flattenDeep :: forall t u. Array t -> Array u
A deep flattening of input array (1), such that it has no remaining elements that are arrays
foldl :: forall t u. (u,t -> u) -> u -> Array t -> u
A left fold of the array (3), such that the combination function (1) is applied to each item of the array, from left to right, building an accumulator from the initial value (2)
forEach :: forall t. (t -> ()) -> Array t -> ()
The value undefined
, but not before running the function (1) on each element of the array (2) sequentially
head :: forall t. Array t -> Maybe t
If the array isn't empty, a Something
containing the first item of the array (1); otherwise, None
isEmpty :: forall t. Array t -> Boolean
Whether or not the input array (1) contains any elements
item :: forall t. Number -> Array t -> Maybe t
A Something
containing the item in the array (2) at that index (1), if the index is in-bounds; otherwise, None
last :: forall t. Array t -> t
The last item of the array (1); undefined
if an empty array
length :: forall t. Array t -> Number
The number of items in the input array (1)
map :: forall t u. (t -> u) -> Array t -> Array u
A copy of the array (2) with the mapping function (1) applied to each item
maxBy :: forall t. (t -> Number) -> Array t -> Maybe t
A Something
containing the item of the array (2) that generates the largest number when the function (1) is applied to it; None
if the array is empty
reverse :: forall t. Array t -> Array t
A new array, which consists of the items from the input array (1) in reverse order
singleton :: forall t. t -> Array t
An array whose one item is the argument
sortBy :: forall t. (t -> Comparable) -> Array t -> Array t
A copy of the array (2), sorted from least to greatest by the criteria (1)
Note: Comparable
includes all values for which the standard JavaScript comparison operators are defined
sortedIndexBy :: forall t. (t -> Comparable) -> Array t -> t -> Number
The lowest index at which the item (3) can be inserted into the array (2) while still maintaining the sort order, as defined by the sorting function (1)
Note: Assumes that the array is already sorted in terms of the sorting function
Note: Comparable
includes all values for which the standard JavaScript comparison operators are defined
tail :: forall t. Array t -> Array t
A sequential array of all items of the input array (1) but the first item
toObject :: forall t. Array (String, t) -> Object t
Treating each pair in the input array (1) as a key-value pair, an object composed from mapping each of those keys to its corresponding value
unique :: forall t. Array t -> Array t
A copy of the input array (1) with all redundant items removed
uniqueBy :: forall t u. (t -> u) -> Array t -> Array t
A copy of the input array (2) with all redundant items removed, where each item's identity is defined by the mapping function (1)
zip :: forall t u. Array t -> Array u -> Array (t, u)
An array where each item at index n is the nth item of the first array (1), paired with the nth item of the second array (2), where the maximum n is the lowest maximum n between the two arrays; items in either array that are at indexes above the maximum n are dropped
equals
arrayEquals :: forall t. Array t -> Array t -> Boolean
Whether or not the two arguments are (deep) equivalent
booleanEquals :: Boolean -> Boolean -> Boolean
Whether or not the two arguments are equivalent
eq :: Any -> Any -> Boolean
Whether or not the two arguments are (deep) equivalent
numberEquals :: Number -> Number -> Boolean
Whether or not the two arguments are equivalent
objectEquals :: forall t. Object t -> Object t -> Boolean
Whether or not the two arguments are (deep) equivalent
stringEquals :: String -> String -> Boolean
Whether or not the two arguments are equivalent
function
apply :: forall t u. (t -> u) -> t -> u
The result of calling the function (1) with the value (2) as its sole argument.
constantly :: forall t. t -> Unit -> t
A function that always returns the argument
curry :: Function? -> (? -> ?)
The argument, but where the argument required a single n-argument application, instead requiring n single-argument applications
flip :: forall t u v. (t -> u -> v) -> (u -> t -> v)
The input binary function with its two arguments flipped in order
id :: forall t. t -> t
The value passed in
pipeline :: forall t. (t -> t)* -> (t -> t)
A function that is the left-to-right composition of all functions passed as arguments
tee :: forall t u v. (t -> u) -> (t -> v) -> t -> (u, v)
A pair, where the first item is the result of applying the item (3) to the first function (1), and the second item is the result of applying the item (3) to the second function (2)
uncurry :: (? -> ?) -> Function?
The argument, but, where the argument required n single-argument applications, instead requiring a single n-argument application
maybe
None :: Maybe Nothing
An empty Maybe
Something :: forall t. t -> Maybe t
A Maybe
containing the argument
filter :: forall t. (t -> Boolean) -> Maybe t -> Maybe t
If the supplied value (2) is a Something
that contains a value that evaluates to false
when the predicate (1) is run on it, then None
; otherwise, the supplied value
flatMap :: forall t u. (t -> Maybe u) -> Maybe t -> Maybe u
If the supplied value (2) is a Something
, then the result of the contained value of the original Something
applied to the function (1); otherwise, None
fold :: forall t u. (Unit -> u) -> (t -> u) -> Maybe t -> u
If the supplied value (3) is a Something
, then the result of applying its contained value to the mapping function (2); otherwise, the result of running the default function (1)
isSomething :: Maybe _ -> Boolean
Whether or not the argument is a Something
map :: forall t u. (t -> u) -> Maybe t -> Maybe u
If the supplied value (2) is a Something
, then a new Something
that contains the result of the contained value of the original Something
applied to the function (1); otherwise, None
maybe :: forall t. t -> Maybe t
If the supplied value (1) is nullary (e.g. null
, undefined
), then None
; otherwise a Something
containing the value
toArray :: forall t. Maybe t -> Array t
If the argument is a Something
, then an array whose single item is that contained in the Something
; otherwise, an empty array
number
multiply :: Number -> Number -> Number
The product of the two arguments
plus :: Number -> Number -> Number
The sum of the two arguments
rangeTo :: Number -> Number -> Array Number
The sequence of numbers from the start (1) up to (and including) the end (2)
rangeUntil :: Number -> Number -> Array Number
The sequence of numbers from the start (1) up to (but not including) the end (2)
object
clone :: forall t. Object t -> Object t
A shallow copy of the input object
keys :: Object _ -> Array String
The enumerable field names of the input object
lookup :: forall t. String -> Object t -> Maybe t
A Something
containing the value in the object (2) for that key (1), if the object is defined for that key; otherwise, None
pairs :: forall t. Object t -> Array (String, t)
The key-value pairs of all enumerable entries in the input object
values :: forall t. Object t -> Array t
The enumerable field values of the input object
type
isArray :: Any -> Boolean
Whether or not the input is an array
isBoolean :: Any -> Boolean
Whether or not the input is a boolean
isFunction :: Any -> Boolean
Whether or not the input is a function
isNumber :: Any -> Boolean
Whether or not the input is a number
isObject :: Any -> Boolean
Whether or not the input is an object
isString :: Any -> Boolean
Whether or not the input is a string