safe-0.3.19: Library of safe (exception free) functions

Safe.Foldable

Description

Foldable functions, with wrappers like the Safe module.

Synopsis

# New functions

findJust :: (Partial, Foldable t) => (a -> Bool) -> t a -> a Source #

findJust op = fromJust . find op

# Safe wrappers

foldl1May :: Foldable t => (a -> a -> a) -> t a -> Maybe a Source #

foldl1Def :: Foldable t => a -> (a -> a -> a) -> t a -> a Source #

New users are recommended to use foldr1May or foldl1May instead.

foldl1Note :: (Partial, Foldable t) => String -> (a -> a -> a) -> t a -> a Source #

foldr1May :: Foldable t => (a -> a -> a) -> t a -> Maybe a Source #

foldr1Def :: Foldable t => a -> (a -> a -> a) -> t a -> a Source #

New users are recommended to use foldr1May or foldl1May instead.

foldr1Note :: (Partial, Foldable t) => String -> (a -> a -> a) -> t a -> a Source #

findJustDef :: Foldable t => a -> (a -> Bool) -> t a -> a Source #

findJustNote :: (Partial, Foldable t) => String -> (a -> Bool) -> t a -> a Source #

minimumMay :: (Foldable t, Ord a) => t a -> Maybe a Source #

minimumNote :: (Partial, Foldable t, Ord a) => String -> t a -> a Source #

maximumMay :: (Foldable t, Ord a) => t a -> Maybe a Source #

maximumNote :: (Partial, Foldable t, Ord a) => String -> t a -> a Source #

minimumByMay :: Foldable t => (a -> a -> Ordering) -> t a -> Maybe a Source #

minimumByNote :: (Partial, Foldable t) => String -> (a -> a -> Ordering) -> t a -> a Source #

maximumByMay :: Foldable t => (a -> a -> Ordering) -> t a -> Maybe a Source #

maximumByNote :: (Partial, Foldable t) => String -> (a -> a -> Ordering) -> t a -> a Source #

maximumBoundBy :: Foldable f => a -> (a -> a -> Ordering) -> f a -> a Source #

The largest element of a foldable structure with respect to the given comparison function. The result is bounded by the value given as the first argument.

minimumBoundBy :: Foldable f => a -> (a -> a -> Ordering) -> f a -> a Source #

The smallest element of a foldable structure with respect to the given comparison function. The result is bounded by the value given as the first argument.

maximumBounded :: (Foldable f, Ord a, Bounded a) => f a -> a Source #

The largest element of a foldable structure. The result is bounded by minBound.

maximumBound :: (Foldable f, Ord a) => a -> f a -> a Source #

The largest element of a foldable structure. The result is bounded by the value given as the first argument.

minimumBounded :: (Foldable f, Ord a, Bounded a) => f a -> a Source #

The largest element of a foldable structure. The result is bounded by maxBound.

minimumBound :: (Foldable f, Ord a) => a -> f a -> a Source #

The smallest element of a foldable structure. The result is bounded by the value given as the first argument.

# Discouraged

minimumDef :: (Foldable t, Ord a) => a -> t a -> a Source #

New users are recommended to use minimumBound or maximumBound instead.

maximumDef :: (Foldable t, Ord a) => a -> t a -> a Source #

New users are recommended to use minimumBound or maximumBound instead.

minimumByDef :: Foldable t => a -> (a -> a -> Ordering) -> t a -> a Source #

New users are recommended to use minimumBoundBy or maximumBoundBy instead.

maximumByDef :: Foldable t => a -> (a -> a -> Ordering) -> t a -> a Source #

New users are recommended to use minimumBoundBy or maximumBoundBy instead.

# Deprecated

foldl1Safe :: (Monoid m, Foldable t) => (m -> m -> m) -> t m -> m Source #

Deprecated: Use foldl f mempty instead.

foldr1Safe :: (Monoid m, Foldable t) => (m -> m -> m) -> t m -> m Source #

Deprecated: Use foldr f mempty instead.

findJustSafe :: (Monoid m, Foldable t) => (m -> Bool) -> t m -> m Source #

Deprecated: Use findJustDef mempty instead.