{-# LANGUAGE UndecidableInstances, ScopedTypeVariables, DataKinds, FlexibleInstances, GADTs, TypeFamilies, TemplateHaskell, InstanceSigs, TypeOperators, PolyKinds, StandaloneDeriving, FlexibleContexts, AllowAmbiguousTypes, CPP, OverloadedStrings, EmptyCase, TypeApplications #-} #if __GLASGOW_HASKELL__ >= 806 {-# LANGUAGE QuantifiedConstraints #-} #endif #if __GLASGOW_HASKELL__ >= 810 {-# LANGUAGE StandaloneKindSignatures #-} #endif #ifndef MIN_VERSION_singletons_base # define MIN_VERSION_singletons_base(x,y,z) 0 #endif module Data.Nat ( Nat(..) , NatPlus , NatMul , NatMinus , NatAbs , NatSignum , natPlus , natMul , natMinus , natAbs , natSignum , someNatVal #if MIN_VERSION_singletons(2,6,0) , SNat(..) , PreludeSingletons.Sing #else , SNat , PreludeSingletons.Sing(SS, SZ) #endif , PreludeSingletons.PNum , PreludeSingletons.SNum , SSym0(..) , SSym1 , ZSym0 , Lit , LitSym0(..) , LitSym1 , SLit , sLit) where import qualified GHC.TypeLits as Lit #if MIN_VERSION_singletons(3,0,0) import Data.Singletons.Base.TH import Prelude.Singletons as PreludeSingletons #else import Data.Singletons.Prelude as PreludeSingletons import Data.Singletons.TH #endif $