Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
Instances
Instances
Instances
Show OpKind Source # | |
Eq OpKind Source # | |
Ord OpKind Source # | |
SingKind OpKind Source # | |
SingI 'OKDeref Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKEq Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKLit Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKLogical Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKLookup Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKNum Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKRel Source # | |
Defined in Language.Fortran.Model.Singletons | |
SingI 'OKWriteArr Source # | |
Defined in Language.Fortran.Model.Singletons sing :: Sing 'OKWriteArr # | |
SingI 'OKWriteData Source # | |
Defined in Language.Fortran.Model.Singletons sing :: Sing 'OKWriteData # | |
type Demote OpKind Source # | |
Defined in Language.Fortran.Model.Singletons | |
type Sing Source # | |
Defined in Language.Fortran.Model.Singletons |
type family BTRealSym0 :: BasicType where ... Source #
type family BTLogicalSym0 :: BasicType where ... Source #
type family BTCharSym0 :: BasicType where ... Source #
type family OKLogicalSym0 :: OpKind where ... Source #
type family OKLookupSym0 :: OpKind where ... Source #
type family OKDerefSym0 :: OpKind where ... Source #
type family OKWriteArrSym0 :: OpKind where ... Source #
type family OKWriteDataSym0 :: OpKind where ... Source #
type family BasicTypeMax (a :: BasicType) (a :: BasicType) :: BasicType where ... Source #
BasicTypeMax a_6989586621679447029 a_6989586621679447031 = Apply (Apply MaxSym0 a_6989586621679447029) a_6989586621679447031 |
type family BasicTypeMaxSym2 (a6989586621679447036 :: BasicType) (a6989586621679447037 :: BasicType) :: BasicType where ... Source #
BasicTypeMaxSym2 a6989586621679447036 a6989586621679447037 = BasicTypeMax a6989586621679447036 a6989586621679447037 |
data BasicTypeMaxSym1 (a6989586621679447036 :: BasicType) :: (~>) BasicType BasicType where Source #
BasicTypeMaxSym1KindInference :: SameKind (Apply (BasicTypeMaxSym1 a6989586621679447036) arg) (BasicTypeMaxSym2 a6989586621679447036 arg) => BasicTypeMaxSym1 a6989586621679447036 a6989586621679447037 |
Instances
SingI1 BasicTypeMaxSym1 Source # | |
Defined in Language.Fortran.Model.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (BasicTypeMaxSym1 x) # | |
SingI d => SingI (BasicTypeMaxSym1 d :: TyFun BasicType BasicType -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons sing :: Sing (BasicTypeMaxSym1 d) # | |
SuppressUnusedWarnings (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply (BasicTypeMaxSym1 a6989586621679447036 :: TyFun BasicType BasicType -> Type) (a6989586621679447037 :: BasicType) Source # | |
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 #
BasicTypeMaxSym0KindInference :: SameKind (Apply BasicTypeMaxSym0 arg) (BasicTypeMaxSym1 arg) => BasicTypeMaxSym0 a6989586621679447036 |
Instances
SingI BasicTypeMaxSym0 Source # | |
Defined in Language.Fortran.Model.Singletons | |
SuppressUnusedWarnings BasicTypeMaxSym0 Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply BasicTypeMaxSym0 (a6989586621679447036 :: BasicType) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply BasicTypeMaxSym0 (a6989586621679447036 :: BasicType) = BasicTypeMaxSym1 a6989586621679447036 |
type family PrecMaxSym2 (a6989586621679447047 :: Precision) (a6989586621679447048 :: Precision) :: Precision where ... Source #
PrecMaxSym2 a6989586621679447047 a6989586621679447048 = PrecMax a6989586621679447047 a6989586621679447048 |
data PrecMaxSym1 (a6989586621679447047 :: Precision) :: (~>) Precision Precision where Source #
PrecMaxSym1KindInference :: SameKind (Apply (PrecMaxSym1 a6989586621679447047) arg) (PrecMaxSym2 a6989586621679447047 arg) => PrecMaxSym1 a6989586621679447047 a6989586621679447048 |
Instances
SingI1 PrecMaxSym1 Source # | |
Defined in Language.Fortran.Model.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (PrecMaxSym1 x) # | |
SingI d => SingI (PrecMaxSym1 d :: TyFun Precision Precision -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons sing :: Sing (PrecMaxSym1 d) # | |
SuppressUnusedWarnings (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply (PrecMaxSym1 a6989586621679447047 :: TyFun Precision Precision -> Type) (a6989586621679447048 :: Precision) Source # | |
Defined in Language.Fortran.Model.Singletons |
data PrecMaxSym0 :: (~>) Precision ((~>) Precision Precision) where Source #
PrecMaxSym0KindInference :: SameKind (Apply PrecMaxSym0 arg) (PrecMaxSym1 arg) => PrecMaxSym0 a6989586621679447047 |
Instances
SingI PrecMaxSym0 Source # | |
Defined in Language.Fortran.Model.Singletons sing :: Sing PrecMaxSym0 # | |
SuppressUnusedWarnings PrecMaxSym0 Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply PrecMaxSym0 (a6989586621679447047 :: Precision) Source # | |
Defined in Language.Fortran.Model.Singletons |
type family TFHelper_6989586621679448410 (a :: Precision) (a :: Precision) :: Bool where ... Source #
type family TFHelper_6989586621679448410Sym2 (a6989586621679448415 :: Precision) (a6989586621679448416 :: Precision) :: Bool where ... Source #
TFHelper_6989586621679448410Sym2 a6989586621679448415 a6989586621679448416 = TFHelper_6989586621679448410 a6989586621679448415 a6989586621679448416 |
data TFHelper_6989586621679448410Sym1 (a6989586621679448415 :: Precision) :: (~>) Precision Bool where Source #
TFHelper_6989586621679448410Sym1KindInference :: SameKind (Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415) arg) (TFHelper_6989586621679448410Sym2 a6989586621679448415 arg) => TFHelper_6989586621679448410Sym1 a6989586621679448415 a6989586621679448416 |
Instances
SuppressUnusedWarnings (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) (a6989586621679448416 :: Precision) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply (TFHelper_6989586621679448410Sym1 a6989586621679448415 :: TyFun Precision Bool -> Type) (a6989586621679448416 :: Precision) = TFHelper_6989586621679448410 a6989586621679448415 a6989586621679448416 |
data TFHelper_6989586621679448410Sym0 :: (~>) Precision ((~>) Precision Bool) where Source #
TFHelper_6989586621679448410Sym0KindInference :: SameKind (Apply TFHelper_6989586621679448410Sym0 arg) (TFHelper_6989586621679448410Sym1 arg) => TFHelper_6989586621679448410Sym0 a6989586621679448415 |
Instances
SuppressUnusedWarnings TFHelper_6989586621679448410Sym0 Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply TFHelper_6989586621679448410Sym0 (a6989586621679448415 :: Precision) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply TFHelper_6989586621679448410Sym0 (a6989586621679448415 :: Precision) = TFHelper_6989586621679448410Sym1 a6989586621679448415 |
type family Compare_6989586621679449533 (a :: Precision) (a :: Precision) :: Ordering where ... Source #
type family Compare_6989586621679449533Sym2 (a6989586621679449538 :: Precision) (a6989586621679449539 :: Precision) :: Ordering where ... Source #
Compare_6989586621679449533Sym2 a6989586621679449538 a6989586621679449539 = Compare_6989586621679449533 a6989586621679449538 a6989586621679449539 |
data Compare_6989586621679449533Sym1 (a6989586621679449538 :: Precision) :: (~>) Precision Ordering where Source #
Compare_6989586621679449533Sym1KindInference :: SameKind (Apply (Compare_6989586621679449533Sym1 a6989586621679449538) arg) (Compare_6989586621679449533Sym2 a6989586621679449538 arg) => Compare_6989586621679449533Sym1 a6989586621679449538 a6989586621679449539 |
Instances
SuppressUnusedWarnings (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) (a6989586621679449539 :: Precision) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply (Compare_6989586621679449533Sym1 a6989586621679449538 :: TyFun Precision Ordering -> Type) (a6989586621679449539 :: Precision) = Compare_6989586621679449533 a6989586621679449538 a6989586621679449539 |
data Compare_6989586621679449533Sym0 :: (~>) Precision ((~>) Precision Ordering) where Source #
Compare_6989586621679449533Sym0KindInference :: SameKind (Apply Compare_6989586621679449533Sym0 arg) (Compare_6989586621679449533Sym1 arg) => Compare_6989586621679449533Sym0 a6989586621679449538 |
Instances
SuppressUnusedWarnings Compare_6989586621679449533Sym0 Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply Compare_6989586621679449533Sym0 (a6989586621679449538 :: Precision) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply Compare_6989586621679449533Sym0 (a6989586621679449538 :: Precision) = Compare_6989586621679449533Sym1 a6989586621679449538 |
type family TFHelper_6989586621679449542 (a :: BasicType) (a :: BasicType) :: Bool where ... Source #
type family TFHelper_6989586621679449542Sym2 (a6989586621679449547 :: BasicType) (a6989586621679449548 :: BasicType) :: Bool where ... Source #
TFHelper_6989586621679449542Sym2 a6989586621679449547 a6989586621679449548 = TFHelper_6989586621679449542 a6989586621679449547 a6989586621679449548 |
data TFHelper_6989586621679449542Sym1 (a6989586621679449547 :: BasicType) :: (~>) BasicType Bool where Source #
TFHelper_6989586621679449542Sym1KindInference :: SameKind (Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547) arg) (TFHelper_6989586621679449542Sym2 a6989586621679449547 arg) => TFHelper_6989586621679449542Sym1 a6989586621679449547 a6989586621679449548 |
Instances
SuppressUnusedWarnings (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) (a6989586621679449548 :: BasicType) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply (TFHelper_6989586621679449542Sym1 a6989586621679449547 :: TyFun BasicType Bool -> Type) (a6989586621679449548 :: BasicType) = TFHelper_6989586621679449542 a6989586621679449547 a6989586621679449548 |
data TFHelper_6989586621679449542Sym0 :: (~>) BasicType ((~>) BasicType Bool) where Source #
TFHelper_6989586621679449542Sym0KindInference :: SameKind (Apply TFHelper_6989586621679449542Sym0 arg) (TFHelper_6989586621679449542Sym1 arg) => TFHelper_6989586621679449542Sym0 a6989586621679449547 |
Instances
SuppressUnusedWarnings TFHelper_6989586621679449542Sym0 Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply TFHelper_6989586621679449542Sym0 (a6989586621679449547 :: BasicType) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply TFHelper_6989586621679449542Sym0 (a6989586621679449547 :: BasicType) = TFHelper_6989586621679449542Sym1 a6989586621679449547 |
type family Compare_6989586621679449551 (a :: BasicType) (a :: BasicType) :: Ordering where ... Source #
type family Compare_6989586621679449551Sym2 (a6989586621679449556 :: BasicType) (a6989586621679449557 :: BasicType) :: Ordering where ... Source #
Compare_6989586621679449551Sym2 a6989586621679449556 a6989586621679449557 = Compare_6989586621679449551 a6989586621679449556 a6989586621679449557 |
data Compare_6989586621679449551Sym1 (a6989586621679449556 :: BasicType) :: (~>) BasicType Ordering where Source #
Compare_6989586621679449551Sym1KindInference :: SameKind (Apply (Compare_6989586621679449551Sym1 a6989586621679449556) arg) (Compare_6989586621679449551Sym2 a6989586621679449556 arg) => Compare_6989586621679449551Sym1 a6989586621679449556 a6989586621679449557 |
Instances
SuppressUnusedWarnings (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) (a6989586621679449557 :: BasicType) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply (Compare_6989586621679449551Sym1 a6989586621679449556 :: TyFun BasicType Ordering -> Type) (a6989586621679449557 :: BasicType) = Compare_6989586621679449551 a6989586621679449556 a6989586621679449557 |
data Compare_6989586621679449551Sym0 :: (~>) BasicType ((~>) BasicType Ordering) where Source #
Compare_6989586621679449551Sym0KindInference :: SameKind (Apply Compare_6989586621679449551Sym0 arg) (Compare_6989586621679449551Sym1 arg) => Compare_6989586621679449551Sym0 a6989586621679449556 |
Instances
SuppressUnusedWarnings Compare_6989586621679449551Sym0 Source # | |
Defined in Language.Fortran.Model.Singletons suppressUnusedWarnings :: () # | |
type Apply Compare_6989586621679449551Sym0 (a6989586621679449556 :: BasicType) Source # | |
Defined in Language.Fortran.Model.Singletons type Apply Compare_6989586621679449551Sym0 (a6989586621679449556 :: BasicType) = Compare_6989586621679449551Sym1 a6989586621679449556 |
data SPrecision :: Precision -> Type where Source #
SP8 :: SPrecision (P8 :: Precision) | |
SP16 :: SPrecision (P16 :: Precision) | |
SP32 :: SPrecision (P32 :: Precision) | |
SP64 :: SPrecision (P64 :: Precision) | |
SP128 :: SPrecision (P128 :: Precision) |
Instances
TestCoercion SPrecision Source # | |
Defined in Language.Fortran.Model.Singletons testCoercion :: forall (a :: k) (b :: k). SPrecision a -> SPrecision b -> Maybe (Coercion a b) # | |
TestEquality SPrecision Source # | |
Defined in Language.Fortran.Model.Singletons testEquality :: forall (a :: k) (b :: k). SPrecision a -> SPrecision b -> Maybe (a :~: b) # |
data SBasicType :: BasicType -> Type where Source #
SBTInt :: SBasicType (BTInt :: BasicType) | |
SBTReal :: SBasicType (BTReal :: BasicType) | |
SBTLogical :: SBasicType (BTLogical :: BasicType) | |
SBTChar :: SBasicType (BTChar :: BasicType) |
Instances
TestCoercion SBasicType Source # | |
Defined in Language.Fortran.Model.Singletons testCoercion :: forall (a :: k) (b :: k). SBasicType a -> SBasicType b -> Maybe (Coercion a b) # | |
TestEquality SBasicType Source # | |
Defined in Language.Fortran.Model.Singletons testEquality :: forall (a :: k) (b :: k). SBasicType a -> SBasicType b -> Maybe (a :~: b) # |
data SOpKind :: OpKind -> Type where Source #
SOKLit :: SOpKind (OKLit :: OpKind) | |
SOKNum :: SOpKind (OKNum :: OpKind) | |
SOKEq :: SOpKind (OKEq :: OpKind) | |
SOKRel :: SOpKind (OKRel :: OpKind) | |
SOKLogical :: SOpKind (OKLogical :: OpKind) | |
SOKLookup :: SOpKind (OKLookup :: OpKind) | |
SOKDeref :: SOpKind (OKDeref :: OpKind) | |
SOKWriteArr :: SOpKind (OKWriteArr :: OpKind) | |
SOKWriteData :: SOpKind (OKWriteData :: OpKind) |
sPrecMax :: forall (t :: Precision) (t :: Precision). Sing t -> Sing t -> Sing (Apply (Apply PrecMaxSym0 t) t :: Precision) Source #