packages feed

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