liquidhaskell-0.8.10.7: typeclass-tests/Data/Maybe.hs
{-@ LIQUID "--reflection" @-}
{-@ LIQUID "--ple" @-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Data.Maybe where
import Prelude hiding ( Functor(..)
, Applicative(..)
, Monad(..)
, Foldable(..)
, Maybe(..)
, Monoid(..)
, Semigroup(..)
, Either(..)
, id
, flip
, const
, apply
)
import Liquid.ProofCombinators
import Data.Function
-- import Data.Functor.Classes
{-@ data Maybe a = Nothing | Just a @-}
data Maybe a = Nothing | Just a
{-@ data First a = First {getFirst :: Maybe a} @-}
data First a = First {getFirst :: Maybe a}
{-@ data Last a = Last {getLast :: Maybe a} @-}
data Last a = Last {getLast :: Maybe a}