Skip to main content

Daml module

DA.NonEmpty

Type and functions for non-empty lists. This module re-exports many functions with

Functions

cons

cons : a -> NonEmpty a -> NonEmpty a Prepend an element to a non-empty list.

append

append : NonEmpty a -> NonEmpty a -> NonEmpty a Append or concatenate two non-empty lists.

map

map : (a -> b) -> NonEmpty a -> NonEmpty b Apply a function over each element in the non-empty list.

nonEmpty

nonEmpty : [a] -> Optional (NonEmpty a) Turn a list into a non-empty list, if possible. Returns None if the input list is empty, and Some otherwise.

singleton

singleton : a -> NonEmpty a A non-empty list with a single element.

toList

toList : NonEmpty a -> [a] Turn a non-empty list into a list (by forgetting that it is not empty).

reverse

reverse : NonEmpty a -> NonEmpty a Reverse a non-empty list.

find

find : (a -> Bool) -> NonEmpty a -> Optional a Find an element in a non-empty list.

deleteBy

deleteBy : (a -> a -> Bool) -> a -> NonEmpty a -> [a] The ‘deleteBy’ function behaves like ‘delete’, but takes a user-supplied equality predicate.

delete

delete : Eq a => a -> NonEmpty a -> [a] Remove the first occurence of x from the non-empty list, potentially removing all elements.

foldl1

foldl1 : (a -> a -> a) -> NonEmpty a -> a Apply a function repeatedly to pairs of elements from a non-empty list, from the left. For example, foldl1 (+) (NonEmpty 1 [2,3,4]) = ((1 + 2) + 3) + 4.

foldr1

foldr1 : (a -> a -> a) -> NonEmpty a -> a Apply a function repeatedly to pairs of elements from a non-empty list, from the right. For example, foldr1 (+) (NonEmpty 1 [2,3,4]) = 1 + (2 + (3 + 4)).

foldr

foldr : (a -> b -> b) -> b -> NonEmpty a -> b Apply a function repeatedly to pairs of elements from a non-empty list, from the right, with a given initial value. For example, foldr (+) 0 (NonEmpty 1 [2,3,4]) = 1 + (2 + (3 + (4 + 0))).

foldrA

foldrA : Action m => (a -> b -> m b) -> b -> NonEmpty a -> m b The same as foldr but running an action each time.

foldr1A

foldr1A : Action m => (a -> a -> m a) -> NonEmpty a -> m a The same as foldr1 but running an action each time.

foldl

foldl : (b -> a -> b) -> b -> NonEmpty a -> b Apply a function repeatedly to pairs of elements from a non-empty list, from the left, with a given initial value. For example, foldl (+) 0 (NonEmpty 1 [2,3,4]) = (((0 + 1) + 2) + 3) + 4.

foldlA

foldlA : Action m => (b -> a -> m b) -> b -> NonEmpty a -> m b The same as foldl but running an action each time.

foldl1A

foldl1A : Action m => (a -> a -> m a) -> NonEmpty a -> m a The same as foldl1 but running an action each time.

Orphan Typeclass Instances

History

Added3.4.9