module Data.Poset.Instances where
import qualified Data.Poset.Internal as Poset
import Data.Poset.Internal (Poset, partialOrder)
import Data.Ratio
import Data.List
import Data.Word
import Data.Int
#define POSET_ORD_INSTANCE(ctx, v) instance ctx Poset (v) where { \
posetCmp = (partialOrder .) . compare; \
(<==>) = const $ const True; \
(</=>) = const $ const False }
POSET_ORD_INSTANCE(, Bool)
POSET_ORD_INSTANCE(, Char)
POSET_ORD_INSTANCE(, Int)
POSET_ORD_INSTANCE(, Int8)
POSET_ORD_INSTANCE(, Int16)
POSET_ORD_INSTANCE(, Int32)
POSET_ORD_INSTANCE(, Int64)
POSET_ORD_INSTANCE(, Word)
POSET_ORD_INSTANCE(, Word8)
POSET_ORD_INSTANCE(, Word16)
POSET_ORD_INSTANCE(, Word32)
POSET_ORD_INSTANCE(, Word64)
POSET_ORD_INSTANCE(, Integer)
POSET_ORD_INSTANCE(Integral a =>, Ratio a)