{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Data.Ord.Singletons (
POrd(..), SOrd(..),
Comparing, sComparing,
Sing, SOrdering(..), SDown(..), GetDown, sGetDown,
LTSym0, EQSym0, GTSym0,
CompareSym0, CompareSym1, CompareSym2,
type (<@#@$), type (<@#@$$), type (<@#@$$$),
type (<=@#@$), type (<=@#@$$), type (<=@#@$$$),
type (>@#@$), type (>@#@$$), type (>@#@$$$),
type (>=@#@$), type (>=@#@$$), type (>=@#@$$$),
MaxSym0, MaxSym1, MaxSym2,
MinSym0, MinSym1, MinSym2,
ComparingSym0, ComparingSym1, ComparingSym2, ComparingSym3,
DownSym0, DownSym1,
GetDownSym0, GetDownSym1
) where
import Data.Eq.Singletons
import Data.Ord (Down(..))
import Data.Semigroup.Singletons.Internal.Classes
import Data.Singletons.Base.Instances
import Data.Singletons.Base.Util
import Data.Singletons.TH
$