AERN-Basics-2011.1: src/Numeric/AERN/Basics/RefinementOrder/Extrema.hs
{-|
Module : Numeric.AERN.Basics.RefinementOrder.Extrema
Description : types that have top and bottom
Copyright : (c) Michal Konecny, Jan Duracz
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
Types that have top and bottom.
This module is hidden and reexported via its parent RefinementOrder.
-}
module Numeric.AERN.Basics.RefinementOrder.Extrema where
{-|
A type with extrema.
-}
class (HasTop t, HasBottom t) => HasExtrema t
{-|
A type with a top element.
-}
class HasTop t where
top :: t
{-|
A type with a top element.
-}
class HasBottom t where
bottom :: t
-- | Convenience Unicode notation for 'top'
(⊤) :: (HasTop t) => t
(⊤) = top
-- | Convenience Unicode notation for 'bottom'
(⊥) :: (HasBottom t) => t
(⊥) = bottom