bricks-internal-0.0.0.4: src/Bricks/Internal/List.hs
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Bricks.Internal.List
( module Data.List
, module Data.List.EitherFunctions
, minimum, maximum
) where
-- either-list-functions
import Data.List.EitherFunctions
-- base
import Data.List hiding (maximum, minimum)
import qualified Data.List as List
import Data.Maybe (Maybe (..))
import Data.Ord (Ord (..))
{- |
>>> minimum [1,2,3]
Just 1
>>> minimum []
Nothing
-}
minimum :: Ord a => [a] -> Maybe a
minimum =
\case
[] -> Nothing
xs -> Just (List.minimum xs)
{- |
>>> maximum [1,2,3]
Just 3
>>> maximum []
Nothing
-}
maximum :: Ord a => [a] -> Maybe a
maximum =
\case
[] -> Nothing
xs -> Just (List.maximum xs)