{-# LANGUAGE TemplateHaskell, DataKinds, PolyKinds, ScopedTypeVariables,
TypeFamilies, TypeOperators, GADTs, UndecidableInstances,
FlexibleContexts, DefaultSignatures, InstanceSigs,
StandaloneDeriving, FlexibleInstances, TypeApplications,
StandaloneKindSignatures #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Data.Ord.Singletons (
POrd(..), SOrd(..),
Comparing, sComparing,
thenCmp, ThenCmp, sThenCmp,
Sing, SOrdering(..), SDown(..), GetDown, sGetDown,
ThenCmpSym0, ThenCmpSym1, ThenCmpSym2,
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.Singletons.Base.Instances
import Data.Singletons.Base.Util
import Data.Singletons.TH
import Language.Haskell.TH.Syntax (thenCmp)
$