{-# LANGUAGE TemplateHaskell, PolyKinds, DataKinds, TypeFamilies,
TypeOperators, GADTs, ScopedTypeVariables, UndecidableInstances,
DefaultSignatures, FlexibleContexts, InstanceSigs, NoStarIsType,
TypeApplications
#-}
module Data.Singletons.Prelude.Num (
PNum(..), SNum(..), Subtract, sSubtract,
type (+@#@$), type (+@#@$$), type (+@#@$$$),
type (-@#@$), type (-@#@$$), type (-@#@$$$),
type (*@#@$), type (*@#@$$), type (*@#@$$$),
NegateSym0, NegateSym1,
AbsSym0, AbsSym1,
SignumSym0, SignumSym1,
FromIntegerSym0, FromIntegerSym1,
SubtractSym0, SubtractSym1, SubtractSym2
) where
import Data.Ord (Down(..))
import Data.Singletons.Single
import Data.Singletons.Internal
import Data.Singletons.Prelude.Ord
import Data.Singletons.TypeLits.Internal
import Data.Singletons.Decide
import qualified GHC.TypeNats as TN
import GHC.TypeNats (SomeNat(..), someNatVal)
import Unsafe.Coerce
$(