Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type FKindTerm = Natural
- type FKindType = NaturalK
- reifyKinded :: forall k (a :: k) n. (n ~ FKindOf a, KnownNat n) => Sing a -> FKindTerm
- class FKinded (a :: Type) where
- type FKindOf (x :: a) :: FKindType
- type FKindDefault :: a
- printFKind :: a -> FKindTerm
- parseFKind :: FKindTerm -> Maybe a
- data SingCmp (l :: k) (r :: k)
- singCompare :: forall k (a :: k) (b :: k). SOrd k => Sing a -> Sing b -> SingCmp a b
Documentation
type FKindTerm = Natural Source #
Fortran kinds are represented by natural numbers. We use them on both type and term levels.
reifyKinded :: forall k (a :: k) n. (n ~ FKindOf a, KnownNat n) => Sing a -> FKindTerm Source #
Reify a kind tag to its Natural
equivalent.
class FKinded (a :: Type) where Source #
Fortran types which use simple integer kinds.
printFKind :: a -> FKindTerm Source #
This we get via the type family, but require singletons.
parseFKind :: FKindTerm -> Maybe a Source #
This we *should* get via the type family, but again require singletons.
Instances
FKinded FTComplexWrapper Source # | |
Defined in Language.Fortran.Repr.Type.Scalar.Complex | |
FKinded FTInt Source # | |
Defined in Language.Fortran.Repr.Type.Scalar.Int | |
FKinded FTReal Source # | |
Defined in Language.Fortran.Repr.Type.Scalar.Real |