{-# 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