pandora-0.3.0: Pandora/Paradigm/Primary/Object.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Pandora.Paradigm.Primary.Object (module Exports) where
import Pandora.Paradigm.Primary.Object.Ordering as Exports
import Pandora.Paradigm.Primary.Object.Boolean as Exports
import Pandora.Pattern.Object.Setoid (Setoid ((==)))
import Pandora.Pattern.Object.Chain (Chain ((<=>)))
instance Setoid Boolean where
True == True = True
False == False = True
_ == _ = False
instance Chain Boolean where
True <=> True = Equal
True <=> False = Greater
False <=> True = Less
False <=> False = Equal
instance Setoid Ordering where
Less == Less = True
Equal == Equal = True
Greater == Greater = True
_ == _ = False
instance Chain Ordering where
Less <=> Less = Equal
Less <=> Equal = Less
Less <=> Greater = Less
Equal <=> Less = Greater
Equal <=> Equal = Equal
Equal <=> Greater = Equal
Greater <=> Less = Greater
Greater <=> Equal = Greater
Greater <=> Greater = Equal