AERN-Basics-2011.1: src/Numeric/AERN/Basics/NumericOrder/Extrema.hs
{-|
Module : Numeric.AERN.Basics.NumericOrder.Extrema
Description : types that have least and greatest elements
Copyright : (c) Michal Konecny
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
Types that have least and greatest elements.
This module is hidden and reexported via its parent NumericOrder.
-}
module Numeric.AERN.Basics.NumericOrder.Extrema where
{-|
A type with extrema.
-}
class (HasLeast t, HasGreatest t) => HasExtrema t
{-|
A type with a least element.
-}
class HasLeast t where
least :: t
{-|
A type with a greatest element.
-}
class HasGreatest t where
greatest :: t