{-|

Module      : MyPenultimate
Description : Get penultimate entry of a list
Copyright   : © Frank Jung, 2020
License     : GPL-3

Get the penultimate of a list.

-}

module MyPenultimate (penultimate) where

-- | Get second to last element of a list.
penultimate :: [a] -> Maybe a
penultimate :: forall a. [a] -> Maybe a
penultimate []     = Maybe a
forall a. Maybe a
Nothing
penultimate [a
_]    = Maybe a
forall a. Maybe a
Nothing
penultimate [a
a,a
_]  = a -> Maybe a
forall a. a -> Maybe a
Just a
a
penultimate (a
_:[a]
as) = [a] -> Maybe a
forall a. [a] -> Maybe a
penultimate [a]
as