Skip to main content

DA.List.Total

Module Snapshot

Lifecycle

Stable.

Notices

Status: active Introduced in: 3.4.9 Removed in: - Warnings: 0 Deprecations: 0 Deprecated since: -

Functions

Return the first element of a list. Return None if list is empty.

tail

Return all but the first element of a list. Return None if list is empty.

last

Extract the last element of a list. Returns None if list is empty.

init

Return all the elements of a list except the last one. Returns None if list is empty.

!!

Return the nth element of a list. Return None if index is out of bounds.

foldl1

Fold left starting with the head of the list. For example, foldl1 f [a,b,c] = f (f a b) c. Return None if list is empty.

foldr1

Fold right starting with the last element of the list. For example, foldr1 f [a,b,c] = f a (f b c)

foldBalanced1

Fold a non-empty list in a balanced way. Balanced means that each element has approximately the same depth in the operator tree. Approximately the same depth means that the difference between maximum and minimum depth is at most 1. The accumulation operation must be associative and commutative in order to get the same result as foldl1 or foldr1. Return None if list is empty.

minimumBy

Return the least element of a list according to the given comparison function. Return None if list is empty.

maximumBy

Return the greatest element of a list according to the given comparison function. Return None if list is empty.

minimumOn

Return the least element of a list when comparing by a key function. For example minimumOn (\(x,y) -> x + y) [(1,2), (2,0)] == Some (2,0). Return None if list is empty.

maximumOn

Return the greatest element of a list when comparing by a key function. For example maximumOn (\(x,y) -> x + y) [(1,2), (2,0)] == Some (1,2). Return None if list is empty.