fortran-src-0.15.0: Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial).
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Fortran.Repr.Compat.Natural

Description

Compatibility definitions for working with term and type level natural numbers across multiple GHC versions.

Prior to GHC 9.2:

  • Term level natural numbers: Natural :: Type
  • Type level natural numbers: n :: Nat

As of GHC 9.2:

  • Term level natural numbers: Natural :: Type
  • Type level natural numbers: n :: Natural

To avoid issues, we export a NaturalK kind that will refer to the correct definition for your platform.

Synopsis

Documentation

data Natural #

Natural number

Invariant: numbers <= 0xffffffffffffffff use the NS constructor

Instances

Instances details
Out Natural Source # 
Instance details

Defined in Text.PrettyPrint.GenericPretty.Orphans

Methods

docPrec :: Int -> Natural -> Doc #

doc :: Natural -> Doc #

docList :: [Natural] -> Doc #

Data Natural

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Natural -> c Natural #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural #

toConstr :: Natural -> Constr #

dataTypeOf :: Natural -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) #

gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r #

gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

Bits Natural

Since: base-4.8.0

Instance details

Defined in GHC.Bits

Enum Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Enum

Ix Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Ix

Num Natural

Note that Natural's Num instance isn't a ring: no element but 0 has an additive inverse. It is a semiring though.

Since: base-4.8.0.0

Instance details

Defined in GHC.Num

Read Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Read

Integral Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Real

Real Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Real

Show Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Show

Binary Natural

Since: binary-0.7.3.0

Instance details

Defined in Data.Binary.Class

Methods

put :: Natural -> Put #

get :: Get Natural #

putList :: [Natural] -> Put #

NFData Natural

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Natural -> () #

Eq Natural 
Instance details

Defined in GHC.Num.Natural

Methods

(==) :: Natural -> Natural -> Bool #

(/=) :: Natural -> Natural -> Bool #

Ord Natural 
Instance details

Defined in GHC.Num.Natural

Hashable Natural 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSalt :: Int -> Natural -> Int #

hash :: Natural -> Int #

UniformRange Natural 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Natural, Natural) -> g -> m Natural #

KnownNat n => HasResolution (n :: Nat)

For example, Fixed 1000 will give you a Fixed with a resolution of 1000.

Instance details

Defined in Data.Fixed

Methods

resolution :: p n -> Integer #

Lift Natural 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

lift :: Quote m => Natural -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Natural -> Code m Natural #

SingI1 DivSym1 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (DivSym1 x) #

SingI1 ModSym1 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (ModSym1 x) #

SingI1 (^@#@$$) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

Methods

liftSing :: forall (x :: k1). Sing x -> Sing ((^@#@$$) x) #

SingI1 ((<=?@#@$$) :: Natural -> TyFun Natural Bool -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

Methods

liftSing :: forall (x :: k1). Sing x -> Sing ((<=?@#@$$) x) #

SingI DivSym0 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

sing :: Sing DivSym0 #

SingI ModSym0 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

sing :: Sing ModSym0 #

SingI (^@#@$) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

Methods

sing :: Sing (^@#@$) #

SingI Log2Sym0 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

sing :: Sing Log2Sym0 #

SingI NatToCharSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SingI CharToNatSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings KnownNatSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings DivSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings ModSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings QuotSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings RemSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings (^@#@$) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

SuppressUnusedWarnings DivModSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings QuotRemSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings Log2Sym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings NatToCharSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings CharToNatSym0 
Instance details

Defined in GHC.TypeLits.Singletons

SingI ((<=?@#@$) :: TyFun Natural (Natural ~> Bool) -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

Methods

sing :: Sing (<=?@#@$) #

SingI x => SingI (DivSym1 x :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

sing :: Sing (DivSym1 x) #

SingI x => SingI (ModSym1 x :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

Methods

sing :: Sing (ModSym1 x) #

SingI x => SingI ((^@#@$$) x :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

Methods

sing :: Sing ((^@#@$$) x) #

SuppressUnusedWarnings (DivSym1 a6989586621679441822 :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings (ModSym1 a6989586621679442263 :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings (QuotSym1 a6989586621679442860 :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings (RemSym1 a6989586621679442849 :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings ((^@#@$$) a6989586621679406726 :: TyFun Natural Natural -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

SuppressUnusedWarnings (DivModSym1 a6989586621679442878 :: TyFun Natural (Natural, Natural) -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

SuppressUnusedWarnings (QuotRemSym1 a6989586621679442871 :: TyFun Natural (Natural, Natural) -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons

SingI x => SingI ((<=?@#@$$) x :: TyFun Natural Bool -> Type) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

Methods

sing :: Sing ((<=?@#@$$) x) #

type Demote Natural 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Sing 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Sing = SNat
type Compare (a :: Natural) (b :: Natural) 
Instance details

Defined in Data.Type.Ord

type Compare (a :: Natural) (b :: Natural) = CmpNat a b
type (arg :: Natural) /= (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type (arg :: Natural) /= (arg1 :: Natural) = Apply (Apply (TFHelper_6989586621679137070Sym0 :: TyFun Natural (Natural ~> Bool) -> Type) arg) arg1
type (x :: Natural) == (y :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type (x :: Natural) == (y :: Natural) = DefaultEq x y
type (arg :: Natural) < (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type (arg :: Natural) < (arg1 :: Natural) = Apply (Apply (TFHelper_6989586621679284846Sym0 :: TyFun Natural (Natural ~> Bool) -> Type) arg) arg1
type (arg :: Natural) <= (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type (arg :: Natural) <= (arg1 :: Natural) = Apply (Apply (TFHelper_6989586621679284862Sym0 :: TyFun Natural (Natural ~> Bool) -> Type) arg) arg1
type (arg :: Natural) > (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type (arg :: Natural) > (arg1 :: Natural) = Apply (Apply (TFHelper_6989586621679284878Sym0 :: TyFun Natural (Natural ~> Bool) -> Type) arg) arg1
type (arg :: Natural) >= (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type (arg :: Natural) >= (arg1 :: Natural) = Apply (Apply (TFHelper_6989586621679284894Sym0 :: TyFun Natural (Natural ~> Bool) -> Type) arg) arg1
type Compare (a :: Natural) (b :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Compare (a :: Natural) (b :: Natural) = CmpNat a b
type Max (arg :: Natural) (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Max (arg :: Natural) (arg1 :: Natural) = Apply (Apply (Max_6989586621679284910Sym0 :: TyFun Natural (Natural ~> Natural) -> Type) arg) arg1
type Min (arg :: Natural) (arg1 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Min (arg :: Natural) (arg1 :: Natural) = Apply (Apply (Min_6989586621679284926Sym0 :: TyFun Natural (Natural ~> Natural) -> Type) arg) arg1
type Apply KnownNatSym0 (a6989586621679440861 :: Nat) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply KnownNatSym0 (a6989586621679440861 :: Nat) = KnownNat a6989586621679440861
type Apply Log2Sym0 (a6989586621679441586 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply Log2Sym0 (a6989586621679441586 :: Natural) = Log2 a6989586621679441586
type Apply NatToCharSym0 (a6989586621679444916 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply NatToCharSym0 (a6989586621679444916 :: Natural) = NatToChar a6989586621679444916
type Apply CharToNatSym0 (a6989586621679444687 :: Char) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply CharToNatSym0 (a6989586621679444687 :: Char) = CharToNat a6989586621679444687
type Apply (DivSym1 a6989586621679441822 :: TyFun Natural Natural -> Type) (a6989586621679441823 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply (DivSym1 a6989586621679441822 :: TyFun Natural Natural -> Type) (a6989586621679441823 :: Natural) = Div a6989586621679441822 a6989586621679441823
type Apply (ModSym1 a6989586621679442263 :: TyFun Natural Natural -> Type) (a6989586621679442264 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply (ModSym1 a6989586621679442263 :: TyFun Natural Natural -> Type) (a6989586621679442264 :: Natural) = Mod a6989586621679442263 a6989586621679442264
type Apply (QuotSym1 a6989586621679442860 :: TyFun Natural Natural -> Type) (a6989586621679442861 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply (QuotSym1 a6989586621679442860 :: TyFun Natural Natural -> Type) (a6989586621679442861 :: Natural) = Quot a6989586621679442860 a6989586621679442861
type Apply (RemSym1 a6989586621679442849 :: TyFun Natural Natural -> Type) (a6989586621679442850 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply (RemSym1 a6989586621679442849 :: TyFun Natural Natural -> Type) (a6989586621679442850 :: Natural) = Rem a6989586621679442849 a6989586621679442850
type Apply ((^@#@$$) a6989586621679406726 :: TyFun Natural Natural -> Type) (a6989586621679406727 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Apply ((^@#@$$) a6989586621679406726 :: TyFun Natural Natural -> Type) (a6989586621679406727 :: Natural) = a6989586621679406726 ^ a6989586621679406727
type Apply DivSym0 (a6989586621679441822 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply DivSym0 (a6989586621679441822 :: Natural) = DivSym1 a6989586621679441822
type Apply ModSym0 (a6989586621679442263 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply ModSym0 (a6989586621679442263 :: Natural) = ModSym1 a6989586621679442263
type Apply QuotSym0 (a6989586621679442860 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply QuotSym0 (a6989586621679442860 :: Natural) = QuotSym1 a6989586621679442860
type Apply RemSym0 (a6989586621679442849 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply RemSym0 (a6989586621679442849 :: Natural) = RemSym1 a6989586621679442849
type Apply (^@#@$) (a6989586621679406726 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Apply (^@#@$) (a6989586621679406726 :: Natural) = (^@#@$$) a6989586621679406726
type Apply DivModSym0 (a6989586621679442878 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply DivModSym0 (a6989586621679442878 :: Natural) = DivModSym1 a6989586621679442878
type Apply QuotRemSym0 (a6989586621679442871 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply QuotRemSym0 (a6989586621679442871 :: Natural) = QuotRemSym1 a6989586621679442871
type Apply (DivModSym1 a6989586621679442878 :: TyFun Natural (Natural, Natural) -> Type) (a6989586621679442879 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply (DivModSym1 a6989586621679442878 :: TyFun Natural (Natural, Natural) -> Type) (a6989586621679442879 :: Natural) = DivMod a6989586621679442878 a6989586621679442879
type Apply (QuotRemSym1 a6989586621679442871 :: TyFun Natural (Natural, Natural) -> Type) (a6989586621679442872 :: Natural) 
Instance details

Defined in GHC.TypeLits.Singletons

type Apply (QuotRemSym1 a6989586621679442871 :: TyFun Natural (Natural, Natural) -> Type) (a6989586621679442872 :: Natural) = QuotRem a6989586621679442871 a6989586621679442872