camfort-1.2.0: CamFort - Cambridge Fortran infrastructure
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Fortran.Model.Singletons

Description

Data kinds and corresponding singletons (via the singletons library) for kinds used in various places in Language.Fortran.Model.

As documentation in Template Haskell is not yet supported, documentation for each data type is given here.

Precision

The precision, in bits, of an intrinsic Fortran data type.

BasicType

The basic type of an intrinsic Fortran data type.

OpKind

TODO

precMax

Finds the maximum of two precisions. Use PrecMax at the type level and sPrecMax for singletons.

basicTypeMax

Finds the 'largest' (with respect to the size of the set it semantically represents) of numeric basic types. Also works with non-numeric basic types, but the result in that case is unspecified. Use BasicTypeMax at the type level and sBasicTypeMax for singletons.

Documentation

data Precision Source #

Constructors

P8 
P16 
P32 
P64 
P128 

Instances

Instances details
Show Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Eq Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Ord Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SingKind Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type Demote Precision = (r :: Type) #

SDecide Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

(%~) :: forall (a :: Precision) (b :: Precision). Sing a -> Sing b -> Decision (a :~: b) #

PEq Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type arg == arg1 :: Bool #

type arg /= arg1 :: Bool #

SEq Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

(%==) :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply (==@#@$) t1) t2) #

(%/=) :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply (/=@#@$) t1) t2) #

POrd Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type Compare arg arg1 :: Ordering #

type arg < arg1 :: Bool #

type arg <= arg1 :: Bool #

type arg > arg1 :: Bool #

type arg >= arg1 :: Bool #

type Max arg arg1 :: a #

type Min arg arg1 :: a #

SOrd Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sCompare :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) #

(%<) :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) #

(%<=) :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) #

(%>) :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) #

(%>=) :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) #

sMax :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) #

sMin :: forall (t1 :: Precision) (t2 :: Precision). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) #

TestCoercion SPrecision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testCoercion :: forall (a :: k) (b :: k). SPrecision a -> SPrecision b -> Maybe (Coercion a b) #

TestEquality SPrecision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testEquality :: forall (a :: k) (b :: k). SPrecision a -> SPrecision b -> Maybe (a :~: b) #

SingI 'P128 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P128 #

SingI 'P16 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P16 #

SingI 'P32 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P32 #

SingI 'P64 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P64 #

SingI 'P8 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P8 #

SingI1 PrecMaxSym1 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

SingI PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings Compare_6989586621679449533Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings TFHelper_6989586621679448410Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SingI d => SingI (PrecMaxSym1 d :: TyFun Precision Precision -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing (PrecMaxSym1 d) #

SuppressUnusedWarnings (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Demote Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) /= (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) /= (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679133754Sym0 :: TyFun Precision (Precision ~> Bool) -> Type) arg) arg1
type (a1 :: Precision) == (a2 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) < (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) < (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679173585Sym0 :: TyFun Precision (Precision ~> Bool) -> Type) arg) arg1
type (arg :: Precision) <= (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) <= (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679173601Sym0 :: TyFun Precision (Precision ~> Bool) -> Type) arg) arg1
type (arg :: Precision) > (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) > (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679173617Sym0 :: TyFun Precision (Precision ~> Bool) -> Type) arg) arg1
type (arg :: Precision) >= (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) >= (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679173633Sym0 :: TyFun Precision (Precision ~> Bool) -> Type) arg) arg1
type Compare (a1 :: Precision) (a2 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Max (arg :: Precision) (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Max (arg :: Precision) (arg1 :: Precision) = Apply (Apply (Max_6989586621679173649Sym0 :: TyFun Precision (Precision ~> Precision) -> Type) arg) arg1
type Min (arg :: Precision) (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Min (arg :: Precision) (arg1 :: Precision) = Apply (Apply (Min_6989586621679173665Sym0 :: TyFun Precision (Precision ~> Precision) -> Type) arg) arg1
type Apply (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) (a6989586621679447048 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) (a6989586621679447048 :: Precision) = PrecMax a6989586621679447047 a6989586621679447048
type Apply (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) (a6989586621679449539 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) (a6989586621679449539 :: Precision) = Compare_6989586621679449533 a6989586621679449538 a6989586621679449539
type Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) (a6989586621679448416 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) (a6989586621679448416 :: Precision) = TFHelper_6989586621679448410 a6989586621679448415 a6989586621679448416
type Apply PrecMaxSym0 (a6989586621679447047 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply PrecMaxSym0 (a6989586621679447047 :: Precision) = PrecMaxSym1 a6989586621679447047
type Apply Compare_6989586621679449533Sym0 (a6989586621679449538 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679449533Sym0 (a6989586621679449538 :: Precision) = Compare_6989586621679449533Sym1 a6989586621679449538
type Apply TFHelper_6989586621679448410Sym0 (a6989586621679448415 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply TFHelper_6989586621679448410Sym0 (a6989586621679448415 :: Precision) = TFHelper_6989586621679448410Sym1 a6989586621679448415

data BasicType Source #

Constructors

BTInt 
BTReal 
BTLogical 
BTChar 

Instances

Instances details
Show BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Eq BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Ord BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SingKind BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type Demote BasicType = (r :: Type) #

SDecide BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

(%~) :: forall (a :: BasicType) (b :: BasicType). Sing a -> Sing b -> Decision (a :~: b) #

PEq BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type arg == arg1 :: Bool #

type arg /= arg1 :: Bool #

SEq BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

(%==) :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply (==@#@$) t1) t2) #

(%/=) :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply (/=@#@$) t1) t2) #

POrd BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type Compare arg arg1 :: Ordering #

type arg < arg1 :: Bool #

type arg <= arg1 :: Bool #

type arg > arg1 :: Bool #

type arg >= arg1 :: Bool #

type Max arg arg1 :: a #

type Min arg arg1 :: a #

SOrd BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sCompare :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) #

(%<) :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) #

(%<=) :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) #

(%>) :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) #

(%>=) :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) #

sMax :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) #

sMin :: forall (t1 :: BasicType) (t2 :: BasicType). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) #

TestCoercion SBasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testCoercion :: forall (a :: k) (b :: k). SBasicType a -> SBasicType b -> Maybe (Coercion a b) #

TestEquality SBasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testEquality :: forall (a :: k) (b :: k). SBasicType a -> SBasicType b -> Maybe (a :~: b) #

SingI 'BTChar Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTChar #

SingI 'BTInt Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTInt #

SingI 'BTLogical Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTLogical #

SingI 'BTReal Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTReal #

SingI1 BasicTypeMaxSym1 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

SingI BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings Compare_6989586621679449551Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings TFHelper_6989586621679449542Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SingI d => SingI (BasicTypeMaxSym1 d :: TyFun BasicType BasicType -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing (BasicTypeMaxSym1 d) #

SuppressUnusedWarnings (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Demote BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) /= (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) /= (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679133754Sym0 :: TyFun BasicType (BasicType ~> Bool) -> Type) arg) arg1
type (a1 :: BasicType) == (a2 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) < (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) < (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679173585Sym0 :: TyFun BasicType (BasicType ~> Bool) -> Type) arg) arg1
type (arg :: BasicType) <= (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) <= (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679173601Sym0 :: TyFun BasicType (BasicType ~> Bool) -> Type) arg) arg1
type (arg :: BasicType) > (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) > (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679173617Sym0 :: TyFun BasicType (BasicType ~> Bool) -> Type) arg) arg1
type (arg :: BasicType) >= (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) >= (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679173633Sym0 :: TyFun BasicType (BasicType ~> Bool) -> Type) arg) arg1
type Compare (a1 :: BasicType) (a2 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Max (arg :: BasicType) (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Max (arg :: BasicType) (arg1 :: BasicType) = Apply (Apply (Max_6989586621679173649Sym0 :: TyFun BasicType (BasicType ~> BasicType) -> Type) arg) arg1
type Min (arg :: BasicType) (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Min (arg :: BasicType) (arg1 :: BasicType) = Apply (Apply (Min_6989586621679173665Sym0 :: TyFun BasicType (BasicType ~> BasicType) -> Type) arg) arg1
type Apply (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) (a6989586621679447037 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) (a6989586621679447037 :: BasicType) = BasicTypeMax a6989586621679447036 a6989586621679447037
type Apply (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) (a6989586621679449557 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) (a6989586621679449557 :: BasicType) = Compare_6989586621679449551 a6989586621679449556 a6989586621679449557
type Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) (a6989586621679449548 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) (a6989586621679449548 :: BasicType) = TFHelper_6989586621679449542 a6989586621679449547 a6989586621679449548
type Apply BasicTypeMaxSym0 (a6989586621679447036 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply BasicTypeMaxSym0 (a6989586621679447036 :: BasicType) = BasicTypeMaxSym1 a6989586621679447036
type Apply Compare_6989586621679449551Sym0 (a6989586621679449556 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679449551Sym0 (a6989586621679449556 :: BasicType) = Compare_6989586621679449551Sym1 a6989586621679449556
type Apply TFHelper_6989586621679449542Sym0 (a6989586621679449547 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply TFHelper_6989586621679449542Sym0 (a6989586621679449547 :: BasicType) = TFHelper_6989586621679449542Sym1 a6989586621679449547

data OpKind Source #

Instances

Instances details
Show OpKind Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Eq OpKind Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

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

Ord OpKind Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SingKind OpKind Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type Demote OpKind = (r :: Type) #

Methods

fromSing :: forall (a :: OpKind). Sing a -> Demote OpKind #

toSing :: Demote OpKind -> SomeSing OpKind #

SingI 'OKDeref Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKDeref #

SingI 'OKEq Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKEq #

SingI 'OKLit Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKLit #

SingI 'OKLogical Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKLogical #

SingI 'OKLookup Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKLookup #

SingI 'OKNum Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKNum #

SingI 'OKRel Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKRel #

SingI 'OKWriteArr Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKWriteArr #

SingI 'OKWriteData Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKWriteData #

type Demote OpKind Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing = SOpKind

type family P8Sym0 :: Precision where ... Source #

Equations

P8Sym0 = P8 

type family P16Sym0 :: Precision where ... Source #

Equations

P16Sym0 = P16 

type family P32Sym0 :: Precision where ... Source #

Equations

P32Sym0 = P32 

type family P64Sym0 :: Precision where ... Source #

Equations

P64Sym0 = P64 

type family P128Sym0 :: Precision where ... Source #

Equations

P128Sym0 = P128 

type family BTIntSym0 :: BasicType where ... Source #

Equations

BTIntSym0 = BTInt 

type family BTRealSym0 :: BasicType where ... Source #

Equations

BTRealSym0 = BTReal 

type family BTLogicalSym0 :: BasicType where ... Source #

type family BTCharSym0 :: BasicType where ... Source #

Equations

BTCharSym0 = BTChar 

type family OKLitSym0 :: OpKind where ... Source #

Equations

OKLitSym0 = OKLit 

type family OKNumSym0 :: OpKind where ... Source #

Equations

OKNumSym0 = OKNum 

type family OKEqSym0 :: OpKind where ... Source #

Equations

OKEqSym0 = OKEq 

type family OKRelSym0 :: OpKind where ... Source #

Equations

OKRelSym0 = OKRel 

type family OKLogicalSym0 :: OpKind where ... Source #

type family OKLookupSym0 :: OpKind where ... Source #

Equations

OKLookupSym0 = OKLookup 

type family OKDerefSym0 :: OpKind where ... Source #

Equations

OKDerefSym0 = OKDeref 

type family OKWriteArrSym0 :: OpKind where ... Source #

type family OKWriteDataSym0 :: OpKind where ... Source #

type family BasicTypeMax (a :: BasicType) (a :: BasicType) :: BasicType where ... Source #

Equations

BasicTypeMax a_6989586621679447029 a_6989586621679447031 = Apply (Apply MaxSym0 a_6989586621679447029) a_6989586621679447031 

type family BasicTypeMaxSym2 (a6989586621679447036 :: BasicType) (a6989586621679447037 :: BasicType) :: BasicType where ... Source #

Equations

BasicTypeMaxSym2 a6989586621679447036 a6989586621679447037 = BasicTypeMax a6989586621679447036 a6989586621679447037 

data BasicTypeMaxSym1 (a6989586621679447036 :: BasicType) :: (~>) BasicType BasicType where Source #

Constructors

BasicTypeMaxSym1KindInference :: SameKind (Apply (BasicTypeMaxSym1 a6989586621679447036) arg) (BasicTypeMaxSym2 a6989586621679447036 arg) => BasicTypeMaxSym1 a6989586621679447036 a6989586621679447037 

Instances

Instances details
SingI1 BasicTypeMaxSym1 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

SingI d => SingI (BasicTypeMaxSym1 d :: TyFun BasicType BasicType -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing (BasicTypeMaxSym1 d) #

SuppressUnusedWarnings (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) (a6989586621679447037 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) (a6989586621679447037 :: BasicType) = BasicTypeMax a6989586621679447036 a6989586621679447037

data BasicTypeMaxSym0 :: (~>) BasicType ((~>) BasicType BasicType) where Source #

Instances

Instances details
SingI BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply BasicTypeMaxSym0 (a6989586621679447036 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply BasicTypeMaxSym0 (a6989586621679447036 :: BasicType) = BasicTypeMaxSym1 a6989586621679447036

type family PrecMax (a :: Precision) (a :: Precision) :: Precision where ... Source #

Equations

PrecMax a_6989586621679447040 a_6989586621679447042 = Apply (Apply MaxSym0 a_6989586621679447040) a_6989586621679447042 

type family PrecMaxSym2 (a6989586621679447047 :: Precision) (a6989586621679447048 :: Precision) :: Precision where ... Source #

Equations

PrecMaxSym2 a6989586621679447047 a6989586621679447048 = PrecMax a6989586621679447047 a6989586621679447048 

data PrecMaxSym1 (a6989586621679447047 :: Precision) :: (~>) Precision Precision where Source #

Constructors

PrecMaxSym1KindInference :: SameKind (Apply (PrecMaxSym1 a6989586621679447047) arg) (PrecMaxSym2 a6989586621679447047 arg) => PrecMaxSym1 a6989586621679447047 a6989586621679447048 

Instances

Instances details
SingI1 PrecMaxSym1 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

SingI d => SingI (PrecMaxSym1 d :: TyFun Precision Precision -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing (PrecMaxSym1 d) #

SuppressUnusedWarnings (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) (a6989586621679447048 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) (a6989586621679447048 :: Precision) = PrecMax a6989586621679447047 a6989586621679447048

data PrecMaxSym0 :: (~>) Precision ((~>) Precision Precision) where Source #

Constructors

PrecMaxSym0KindInference :: SameKind (Apply PrecMaxSym0 arg) (PrecMaxSym1 arg) => PrecMaxSym0 a6989586621679447047 

Instances

Instances details
SingI PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply PrecMaxSym0 (a6989586621679447047 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply PrecMaxSym0 (a6989586621679447047 :: Precision) = PrecMaxSym1 a6989586621679447047

type family TFHelper_6989586621679448410Sym2 (a6989586621679448415 :: Precision) (a6989586621679448416 :: Precision) :: Bool where ... Source #

Equations

TFHelper_6989586621679448410Sym2 a6989586621679448415 a6989586621679448416 = TFHelper_6989586621679448410 a6989586621679448415 a6989586621679448416 

data TFHelper_6989586621679448410Sym1 (a6989586621679448415 :: Precision) :: (~>) Precision Bool where Source #

Constructors

TFHelper_6989586621679448410Sym1KindInference :: SameKind (Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415) arg) (TFHelper_6989586621679448410Sym2 a6989586621679448415 arg) => TFHelper_6989586621679448410Sym1 a6989586621679448415 a6989586621679448416 

Instances

Instances details
SuppressUnusedWarnings (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) (a6989586621679448416 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) (a6989586621679448416 :: Precision) = TFHelper_6989586621679448410 a6989586621679448415 a6989586621679448416

type family Compare_6989586621679449533 (a :: Precision) (a :: Precision) :: Ordering where ... Source #

type family Compare_6989586621679449533Sym2 (a6989586621679449538 :: Precision) (a6989586621679449539 :: Precision) :: Ordering where ... Source #

Equations

Compare_6989586621679449533Sym2 a6989586621679449538 a6989586621679449539 = Compare_6989586621679449533 a6989586621679449538 a6989586621679449539 

data Compare_6989586621679449533Sym1 (a6989586621679449538 :: Precision) :: (~>) Precision Ordering where Source #

Constructors

Compare_6989586621679449533Sym1KindInference :: SameKind (Apply (Compare_6989586621679449533Sym1 a6989586621679449538) arg) (Compare_6989586621679449533Sym2 a6989586621679449538 arg) => Compare_6989586621679449533Sym1 a6989586621679449538 a6989586621679449539 

Instances

Instances details
SuppressUnusedWarnings (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) (a6989586621679449539 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) (a6989586621679449539 :: Precision) = Compare_6989586621679449533 a6989586621679449538 a6989586621679449539

type family TFHelper_6989586621679449542Sym2 (a6989586621679449547 :: BasicType) (a6989586621679449548 :: BasicType) :: Bool where ... Source #

Equations

TFHelper_6989586621679449542Sym2 a6989586621679449547 a6989586621679449548 = TFHelper_6989586621679449542 a6989586621679449547 a6989586621679449548 

data TFHelper_6989586621679449542Sym1 (a6989586621679449547 :: BasicType) :: (~>) BasicType Bool where Source #

Constructors

TFHelper_6989586621679449542Sym1KindInference :: SameKind (Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547) arg) (TFHelper_6989586621679449542Sym2 a6989586621679449547 arg) => TFHelper_6989586621679449542Sym1 a6989586621679449547 a6989586621679449548 

Instances

Instances details
SuppressUnusedWarnings (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) (a6989586621679449548 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) (a6989586621679449548 :: BasicType) = TFHelper_6989586621679449542 a6989586621679449547 a6989586621679449548

type family Compare_6989586621679449551Sym2 (a6989586621679449556 :: BasicType) (a6989586621679449557 :: BasicType) :: Ordering where ... Source #

Equations

Compare_6989586621679449551Sym2 a6989586621679449556 a6989586621679449557 = Compare_6989586621679449551 a6989586621679449556 a6989586621679449557 

data Compare_6989586621679449551Sym1 (a6989586621679449556 :: BasicType) :: (~>) BasicType Ordering where Source #

Constructors

Compare_6989586621679449551Sym1KindInference :: SameKind (Apply (Compare_6989586621679449551Sym1 a6989586621679449556) arg) (Compare_6989586621679449551Sym2 a6989586621679449556 arg) => Compare_6989586621679449551Sym1 a6989586621679449556 a6989586621679449557 

Instances

Instances details
SuppressUnusedWarnings (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) (a6989586621679449557 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) (a6989586621679449557 :: BasicType) = Compare_6989586621679449551 a6989586621679449556 a6989586621679449557

data SPrecision :: Precision -> Type where Source #

Instances

Instances details
TestCoercion SPrecision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testCoercion :: forall (a :: k) (b :: k). SPrecision a -> SPrecision b -> Maybe (Coercion a b) #

TestEquality SPrecision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testEquality :: forall (a :: k) (b :: k). SPrecision a -> SPrecision b -> Maybe (a :~: b) #

data SBasicType :: BasicType -> Type where Source #

Instances

Instances details
TestCoercion SBasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testCoercion :: forall (a :: k) (b :: k). SBasicType a -> SBasicType b -> Maybe (Coercion a b) #

TestEquality SBasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

testEquality :: forall (a :: k) (b :: k). SBasicType a -> SBasicType b -> Maybe (a :~: b) #

sPrecMax :: forall (t :: Precision) (t :: Precision). Sing t -> Sing t -> Sing (Apply (Apply PrecMaxSym0 t) t :: Precision) Source #

sBasicTypeMax :: forall (t :: BasicType) (t :: BasicType). Sing t -> Sing t -> Sing (Apply (Apply BasicTypeMaxSym0 t) t :: BasicType) Source #