camfort-1.0.1: CamFort - Cambridge Fortran infrastructure
Safe HaskellNone
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
Eq Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Ord Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Show 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)

Methods

fromSing :: forall (a :: Precision). Sing a -> Demote Precision

toSing :: Demote Precision -> SomeSing Precision

PEq Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type x == y :: Bool

type x /= y :: Bool

SEq Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

(%==) :: forall (a :: Precision) (b :: Precision). Sing a -> Sing b -> Sing (a == b)

(%/=) :: forall (a :: Precision) (b :: Precision). Sing a -> Sing b -> Sing (a /= b)

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)

SDecide Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

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 'P8 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P8

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 'P128 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'P128

SingI PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing PrecMaxSym0

SuppressUnusedWarnings Compare_6989586621679388653Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings PrecMaxSym0 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 (Compare_6989586621679388653Sym1 a6989586621679388658 :: TyFun Precision Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

Defined in Language.Fortran.Model.Singletons

type Demote Precision Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Demote Precision = Precision
type Sing Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing = SPrecision
type (x :: Precision) /= (y :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (x :: Precision) /= (y :: Precision) = Not (x == y)
type (a :: Precision) == (b :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (a :: Precision) == (b :: Precision) = Equals_6989586621679388669 a b
type (arg :: Precision) < (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) < (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679836879Sym0 :: 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_6989586621679836895Sym0 :: 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_6989586621679836911Sym0 :: 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_6989586621679836927Sym0 :: TyFun Precision (Precision ~> Bool) -> Type) arg) arg1
type Compare (a1 :: Precision) (a2 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Compare (a1 :: Precision) (a2 :: Precision) = Apply (Apply Compare_6989586621679388653Sym0 a1) a2
type Max (arg :: Precision) (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Max (arg :: Precision) (arg1 :: Precision) = Apply (Apply (Max_6989586621679836943Sym0 :: 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_6989586621679836959Sym0 :: TyFun Precision (Precision ~> Precision) -> Type) arg) arg1
type Apply (Compare_6989586621679388653Sym1 a6989586621679388658 :: TyFun Precision Ordering -> Type) (a6989586621679388659 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679388653Sym1 a6989586621679388658 :: TyFun Precision Ordering -> Type) (a6989586621679388659 :: Precision) = Compare_6989586621679388653Sym2 a6989586621679388658 a6989586621679388659
type Apply (PrecMaxSym1 a6989586621679387430 :: TyFun Precision Precision -> Type) (a6989586621679387431 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679387430 :: TyFun Precision Precision -> Type) (a6989586621679387431 :: Precision) = PrecMaxSym2 a6989586621679387430 a6989586621679387431
type Apply Compare_6989586621679388653Sym0 (a6989586621679388658 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679388653Sym0 (a6989586621679388658 :: Precision) = Compare_6989586621679388653Sym1 a6989586621679388658
type Apply PrecMaxSym0 (a6989586621679387430 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

data BasicType Source #

Constructors

BTInt 
BTReal 
BTLogical 
BTChar 

Instances

Instances details
Eq BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Ord BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Show 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)

Methods

fromSing :: forall (a :: BasicType). Sing a -> Demote BasicType

toSing :: Demote BasicType -> SomeSing BasicType

PEq BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Associated Types

type x == y :: Bool

type x /= y :: Bool

SEq BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

(%==) :: forall (a :: BasicType) (b :: BasicType). Sing a -> Sing b -> Sing (a == b)

(%/=) :: forall (a :: BasicType) (b :: BasicType). Sing a -> Sing b -> Sing (a /= b)

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)

SDecide BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

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

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 'BTInt Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTInt

SingI 'BTReal Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTReal

SingI 'BTLogical Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTLogical

SingI 'BTChar Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'BTChar

SingI BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing BasicTypeMaxSym0

SuppressUnusedWarnings Compare_6989586621679388662Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings BasicTypeMaxSym0 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 (Compare_6989586621679388662Sym1 a6989586621679388667 :: TyFun BasicType Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

Defined in Language.Fortran.Model.Singletons

type Demote BasicType Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Demote BasicType = BasicType
type Sing Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing = SBasicType
type (x :: BasicType) /= (y :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (x :: BasicType) /= (y :: BasicType) = Not (x == y)
type (a :: BasicType) == (b :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (a :: BasicType) == (b :: BasicType) = Equals_6989586621679388673 a b
type (arg :: BasicType) < (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) < (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679836879Sym0 :: 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_6989586621679836895Sym0 :: 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_6989586621679836911Sym0 :: 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_6989586621679836927Sym0 :: TyFun BasicType (BasicType ~> Bool) -> Type) arg) arg1
type Compare (a1 :: BasicType) (a2 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Compare (a1 :: BasicType) (a2 :: BasicType) = Apply (Apply Compare_6989586621679388662Sym0 a1) a2
type Max (arg :: BasicType) (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Max (arg :: BasicType) (arg1 :: BasicType) = Apply (Apply (Max_6989586621679836943Sym0 :: 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_6989586621679836959Sym0 :: TyFun BasicType (BasicType ~> BasicType) -> Type) arg) arg1
type Apply (Compare_6989586621679388662Sym1 a6989586621679388667 :: TyFun BasicType Ordering -> Type) (a6989586621679388668 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679388662Sym1 a6989586621679388667 :: TyFun BasicType Ordering -> Type) (a6989586621679388668 :: BasicType) = Compare_6989586621679388662Sym2 a6989586621679388667 a6989586621679388668
type Apply (BasicTypeMaxSym1 a6989586621679387419 :: TyFun BasicType BasicType -> Type) (a6989586621679387420 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679387419 :: TyFun BasicType BasicType -> Type) (a6989586621679387420 :: BasicType) = BasicTypeMaxSym2 a6989586621679387419 a6989586621679387420
type Apply Compare_6989586621679388662Sym0 (a6989586621679388667 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679388662Sym0 (a6989586621679388667 :: BasicType) = Compare_6989586621679388662Sym1 a6989586621679388667
type Apply BasicTypeMaxSym0 (a6989586621679387419 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

data OpKind Source #

Instances

Instances details
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

Show 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 'OKLit Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKLit

SingI 'OKNum Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKNum

SingI 'OKEq Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKEq

SingI 'OKRel Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKRel

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 'OKDeref Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing 'OKDeref

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 Demote OpKind = OpKind
type Sing Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Sing = SOpKind

type family BasicTypeMax a a where ... Source #

Equations

BasicTypeMax a_6989586621679387412 a_6989586621679387414 = Apply (Apply MaxSym0 a_6989586621679387412) a_6989586621679387414 

type BasicTypeMaxSym2 (a6989586621679387419 :: BasicType) (a6989586621679387420 :: BasicType) = BasicTypeMax a6989586621679387419 a6989586621679387420 :: BasicType Source #

data BasicTypeMaxSym1 a6989586621679387419 a6989586621679387420 where Source #

Constructors

BasicTypeMaxSym1KindInference :: SameKind (Apply (BasicTypeMaxSym1 a6989586621679387419) arg) (BasicTypeMaxSym2 a6989586621679387419 arg) => BasicTypeMaxSym1 a6989586621679387419 a6989586621679387420 

Instances

Instances details
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 a6989586621679387419 :: TyFun BasicType BasicType -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679387419 :: TyFun BasicType BasicType -> Type) (a6989586621679387420 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679387419 :: TyFun BasicType BasicType -> Type) (a6989586621679387420 :: BasicType) = BasicTypeMaxSym2 a6989586621679387419 a6989586621679387420

data BasicTypeMaxSym0 a6989586621679387419 where Source #

Constructors

BasicTypeMaxSym0KindInference :: SameKind (Apply BasicTypeMaxSym0 arg) (BasicTypeMaxSym1 arg) => BasicTypeMaxSym0 a6989586621679387419 

Instances

Instances details
SingI BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing BasicTypeMaxSym0

SuppressUnusedWarnings BasicTypeMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

Defined in Language.Fortran.Model.Singletons

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

type family PrecMax a a where ... Source #

Equations

PrecMax a_6989586621679387423 a_6989586621679387425 = Apply (Apply MaxSym0 a_6989586621679387423) a_6989586621679387425 

type PrecMaxSym2 (a6989586621679387430 :: Precision) (a6989586621679387431 :: Precision) = PrecMax a6989586621679387430 a6989586621679387431 :: Precision Source #

data PrecMaxSym1 a6989586621679387430 a6989586621679387431 where Source #

Constructors

PrecMaxSym1KindInference :: SameKind (Apply (PrecMaxSym1 a6989586621679387430) arg) (PrecMaxSym2 a6989586621679387430 arg) => PrecMaxSym1 a6989586621679387430 a6989586621679387431 

Instances

Instances details
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 a6989586621679387430 :: TyFun Precision Precision -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679387430 :: TyFun Precision Precision -> Type) (a6989586621679387431 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679387430 :: TyFun Precision Precision -> Type) (a6989586621679387431 :: Precision) = PrecMaxSym2 a6989586621679387430 a6989586621679387431

data PrecMaxSym0 a6989586621679387430 where Source #

Constructors

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

Instances

Instances details
SingI PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

Methods

sing :: Sing PrecMaxSym0

SuppressUnusedWarnings PrecMaxSym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

Defined in Language.Fortran.Model.Singletons

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

type family Compare_6989586621679388653 a a where ... Source #

Equations

Compare_6989586621679388653 P8 P8 = Apply (Apply (Apply FoldlSym0 ThenCmpSym0) EQSym0) NilSym0 
Compare_6989586621679388653 P16 P16 = Apply (Apply (Apply FoldlSym0 ThenCmpSym0) EQSym0) NilSym0 
Compare_6989586621679388653 P32 P32 = Apply (Apply (Apply FoldlSym0 ThenCmpSym0) EQSym0) NilSym0 
Compare_6989586621679388653 P64 P64 = Apply (Apply (Apply FoldlSym0 ThenCmpSym0) EQSym0) NilSym0 
Compare_6989586621679388653 P128 P128 = Apply (Apply (Apply FoldlSym0 ThenCmpSym0) EQSym0) NilSym0 
Compare_6989586621679388653 P8 P16 = LTSym0 
Compare_6989586621679388653 P8 P32 = LTSym0 
Compare_6989586621679388653 P8 P64 = LTSym0 
Compare_6989586621679388653 P8 P128 = LTSym0 
Compare_6989586621679388653 P16 P8 = GTSym0 
Compare_6989586621679388653 P16 P32 = LTSym0 
Compare_6989586621679388653 P16 P64 = LTSym0 
Compare_6989586621679388653 P16 P128 = LTSym0 
Compare_6989586621679388653 P32 P8 = GTSym0 
Compare_6989586621679388653 P32 P16 = GTSym0 
Compare_6989586621679388653 P32 P64 = LTSym0 
Compare_6989586621679388653 P32 P128 = LTSym0 
Compare_6989586621679388653 P64 P8 = GTSym0 
Compare_6989586621679388653 P64 P16 = GTSym0 
Compare_6989586621679388653 P64 P32 = GTSym0 
Compare_6989586621679388653 P64 P128 = LTSym0 
Compare_6989586621679388653 P128 P8 = GTSym0 
Compare_6989586621679388653 P128 P16 = GTSym0 
Compare_6989586621679388653 P128 P32 = GTSym0 
Compare_6989586621679388653 P128 P64 = GTSym0 

type Compare_6989586621679388653Sym2 (a6989586621679388658 :: Precision) (a6989586621679388659 :: Precision) = Compare_6989586621679388653 a6989586621679388658 a6989586621679388659 :: Ordering Source #

data Compare_6989586621679388653Sym1 a6989586621679388658 a6989586621679388659 where Source #

Constructors

Compare_6989586621679388653Sym1KindInference :: SameKind (Apply (Compare_6989586621679388653Sym1 a6989586621679388658) arg) (Compare_6989586621679388653Sym2 a6989586621679388658 arg) => Compare_6989586621679388653Sym1 a6989586621679388658 a6989586621679388659 

Instances

Instances details
SuppressUnusedWarnings (Compare_6989586621679388653Sym1 a6989586621679388658 :: TyFun Precision Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679388653Sym1 a6989586621679388658 :: TyFun Precision Ordering -> Type) (a6989586621679388659 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679388653Sym1 a6989586621679388658 :: TyFun Precision Ordering -> Type) (a6989586621679388659 :: Precision) = Compare_6989586621679388653Sym2 a6989586621679388658 a6989586621679388659

data Compare_6989586621679388653Sym0 a6989586621679388658 where Source #

Instances

Instances details
SuppressUnusedWarnings Compare_6989586621679388653Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679388653Sym0 (a6989586621679388658 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679388653Sym0 (a6989586621679388658 :: Precision) = Compare_6989586621679388653Sym1 a6989586621679388658

type family Compare_6989586621679388662 a a where ... Source #

type Compare_6989586621679388662Sym2 (a6989586621679388667 :: BasicType) (a6989586621679388668 :: BasicType) = Compare_6989586621679388662 a6989586621679388667 a6989586621679388668 :: Ordering Source #

data Compare_6989586621679388662Sym1 a6989586621679388667 a6989586621679388668 where Source #

Constructors

Compare_6989586621679388662Sym1KindInference :: SameKind (Apply (Compare_6989586621679388662Sym1 a6989586621679388667) arg) (Compare_6989586621679388662Sym2 a6989586621679388667 arg) => Compare_6989586621679388662Sym1 a6989586621679388667 a6989586621679388668 

Instances

Instances details
SuppressUnusedWarnings (Compare_6989586621679388662Sym1 a6989586621679388667 :: TyFun BasicType Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679388662Sym1 a6989586621679388667 :: TyFun BasicType Ordering -> Type) (a6989586621679388668 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679388662Sym1 a6989586621679388667 :: TyFun BasicType Ordering -> Type) (a6989586621679388668 :: BasicType) = Compare_6989586621679388662Sym2 a6989586621679388667 a6989586621679388668

data Compare_6989586621679388662Sym0 a6989586621679388667 where Source #

Instances

Instances details
SuppressUnusedWarnings Compare_6989586621679388662Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679388662Sym0 (a6989586621679388667 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679388662Sym0 (a6989586621679388667 :: BasicType) = Compare_6989586621679388662Sym1 a6989586621679388667

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 #