camfort-1.1.2: 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_6989586621679394002Sym0 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_6989586621679394002Sym1 a6989586621679394007 :: TyFun Precision Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings (PrecMaxSym1 a6989586621679392779 :: 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_6989586621679394018 a b
type (arg :: Precision) < (arg1 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: Precision) < (arg1 :: Precision) = Apply (Apply (TFHelper_6989586621679837407Sym0 :: 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_6989586621679837423Sym0 :: 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_6989586621679837439Sym0 :: 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_6989586621679837455Sym0 :: 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_6989586621679394002Sym0 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_6989586621679837471Sym0 :: 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_6989586621679837487Sym0 :: TyFun Precision (Precision ~> Precision) -> Type) arg) arg1
type Apply (Compare_6989586621679394002Sym1 a6989586621679394007 :: TyFun Precision Ordering -> Type) (a6989586621679394008 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679394002Sym1 a6989586621679394007 :: TyFun Precision Ordering -> Type) (a6989586621679394008 :: Precision) = Compare_6989586621679394002Sym2 a6989586621679394007 a6989586621679394008
type Apply (PrecMaxSym1 a6989586621679392779 :: TyFun Precision Precision -> Type) (a6989586621679392780 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679392779 :: TyFun Precision Precision -> Type) (a6989586621679392780 :: Precision) = PrecMaxSym2 a6989586621679392779 a6989586621679392780
type Apply Compare_6989586621679394002Sym0 (a6989586621679394007 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679394002Sym0 (a6989586621679394007 :: Precision) = Compare_6989586621679394002Sym1 a6989586621679394007
type Apply PrecMaxSym0 (a6989586621679392779 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

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_6989586621679394011Sym0 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_6989586621679394011Sym1 a6989586621679394016 :: TyFun BasicType Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

SuppressUnusedWarnings (BasicTypeMaxSym1 a6989586621679392768 :: 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_6989586621679394022 a b
type (arg :: BasicType) < (arg1 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type (arg :: BasicType) < (arg1 :: BasicType) = Apply (Apply (TFHelper_6989586621679837407Sym0 :: 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_6989586621679837423Sym0 :: 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_6989586621679837439Sym0 :: 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_6989586621679837455Sym0 :: 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_6989586621679394011Sym0 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_6989586621679837471Sym0 :: 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_6989586621679837487Sym0 :: TyFun BasicType (BasicType ~> BasicType) -> Type) arg) arg1
type Apply (Compare_6989586621679394011Sym1 a6989586621679394016 :: TyFun BasicType Ordering -> Type) (a6989586621679394017 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679394011Sym1 a6989586621679394016 :: TyFun BasicType Ordering -> Type) (a6989586621679394017 :: BasicType) = Compare_6989586621679394011Sym2 a6989586621679394016 a6989586621679394017
type Apply (BasicTypeMaxSym1 a6989586621679392768 :: TyFun BasicType BasicType -> Type) (a6989586621679392769 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679392768 :: TyFun BasicType BasicType -> Type) (a6989586621679392769 :: BasicType) = BasicTypeMaxSym2 a6989586621679392768 a6989586621679392769
type Apply Compare_6989586621679394011Sym0 (a6989586621679394016 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679394011Sym0 (a6989586621679394016 :: BasicType) = Compare_6989586621679394011Sym1 a6989586621679394016
type Apply BasicTypeMaxSym0 (a6989586621679392768 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

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_6989586621679392761 a_6989586621679392763 = Apply (Apply MaxSym0 a_6989586621679392761) a_6989586621679392763 

type BasicTypeMaxSym2 (a6989586621679392768 :: BasicType) (a6989586621679392769 :: BasicType) = BasicTypeMax a6989586621679392768 a6989586621679392769 :: BasicType Source #

data BasicTypeMaxSym1 a6989586621679392768 a6989586621679392769 where Source #

Constructors

BasicTypeMaxSym1KindInference :: SameKind (Apply (BasicTypeMaxSym1 a6989586621679392768) arg) (BasicTypeMaxSym2 a6989586621679392768 arg) => BasicTypeMaxSym1 a6989586621679392768 a6989586621679392769 

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

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679392768 :: TyFun BasicType BasicType -> Type) (a6989586621679392769 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (BasicTypeMaxSym1 a6989586621679392768 :: TyFun BasicType BasicType -> Type) (a6989586621679392769 :: BasicType) = BasicTypeMaxSym2 a6989586621679392768 a6989586621679392769

data BasicTypeMaxSym0 a6989586621679392768 where Source #

Constructors

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

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 (a6989586621679392768 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

type family PrecMax a a where ... Source #

Equations

PrecMax a_6989586621679392772 a_6989586621679392774 = Apply (Apply MaxSym0 a_6989586621679392772) a_6989586621679392774 

type PrecMaxSym2 (a6989586621679392779 :: Precision) (a6989586621679392780 :: Precision) = PrecMax a6989586621679392779 a6989586621679392780 :: Precision Source #

data PrecMaxSym1 a6989586621679392779 a6989586621679392780 where Source #

Constructors

PrecMaxSym1KindInference :: SameKind (Apply (PrecMaxSym1 a6989586621679392779) arg) (PrecMaxSym2 a6989586621679392779 arg) => PrecMaxSym1 a6989586621679392779 a6989586621679392780 

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

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679392779 :: TyFun Precision Precision -> Type) (a6989586621679392780 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (PrecMaxSym1 a6989586621679392779 :: TyFun Precision Precision -> Type) (a6989586621679392780 :: Precision) = PrecMaxSym2 a6989586621679392779 a6989586621679392780

data PrecMaxSym0 a6989586621679392779 where Source #

Constructors

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

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 (a6989586621679392779 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

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

type family Compare_6989586621679394002 a a where ... Source #

Equations

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

type Compare_6989586621679394002Sym2 (a6989586621679394007 :: Precision) (a6989586621679394008 :: Precision) = Compare_6989586621679394002 a6989586621679394007 a6989586621679394008 :: Ordering Source #

data Compare_6989586621679394002Sym1 a6989586621679394007 a6989586621679394008 where Source #

Constructors

Compare_6989586621679394002Sym1KindInference :: SameKind (Apply (Compare_6989586621679394002Sym1 a6989586621679394007) arg) (Compare_6989586621679394002Sym2 a6989586621679394007 arg) => Compare_6989586621679394002Sym1 a6989586621679394007 a6989586621679394008 

Instances

Instances details
SuppressUnusedWarnings (Compare_6989586621679394002Sym1 a6989586621679394007 :: TyFun Precision Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679394002Sym1 a6989586621679394007 :: TyFun Precision Ordering -> Type) (a6989586621679394008 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679394002Sym1 a6989586621679394007 :: TyFun Precision Ordering -> Type) (a6989586621679394008 :: Precision) = Compare_6989586621679394002Sym2 a6989586621679394007 a6989586621679394008

data Compare_6989586621679394002Sym0 a6989586621679394007 where Source #

Instances

Instances details
SuppressUnusedWarnings Compare_6989586621679394002Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679394002Sym0 (a6989586621679394007 :: Precision) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679394002Sym0 (a6989586621679394007 :: Precision) = Compare_6989586621679394002Sym1 a6989586621679394007

type family Compare_6989586621679394011 a a where ... Source #

type Compare_6989586621679394011Sym2 (a6989586621679394016 :: BasicType) (a6989586621679394017 :: BasicType) = Compare_6989586621679394011 a6989586621679394016 a6989586621679394017 :: Ordering Source #

data Compare_6989586621679394011Sym1 a6989586621679394016 a6989586621679394017 where Source #

Constructors

Compare_6989586621679394011Sym1KindInference :: SameKind (Apply (Compare_6989586621679394011Sym1 a6989586621679394016) arg) (Compare_6989586621679394011Sym2 a6989586621679394016 arg) => Compare_6989586621679394011Sym1 a6989586621679394016 a6989586621679394017 

Instances

Instances details
SuppressUnusedWarnings (Compare_6989586621679394011Sym1 a6989586621679394016 :: TyFun BasicType Ordering -> Type) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679394011Sym1 a6989586621679394016 :: TyFun BasicType Ordering -> Type) (a6989586621679394017 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply (Compare_6989586621679394011Sym1 a6989586621679394016 :: TyFun BasicType Ordering -> Type) (a6989586621679394017 :: BasicType) = Compare_6989586621679394011Sym2 a6989586621679394016 a6989586621679394017

data Compare_6989586621679394011Sym0 a6989586621679394016 where Source #

Instances

Instances details
SuppressUnusedWarnings Compare_6989586621679394011Sym0 Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679394011Sym0 (a6989586621679394016 :: BasicType) Source # 
Instance details

Defined in Language.Fortran.Model.Singletons

type Apply Compare_6989586621679394011Sym0 (a6989586621679394016 :: BasicType) = Compare_6989586621679394011Sym1 a6989586621679394016

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 #