Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.Fortran.Model.Vars
Description
Defines a strongly-typed representation of Fortran variables.
Synopsis
- data FortranVar a where
- FortranVar :: D a -> NamePair -> FortranVar a
- data NamePair = NamePair {}
- npSource :: Lens' NamePair SourceName
- npUnique :: Lens' NamePair UniqueName
- newtype SourceName = SourceName {}
- newtype UniqueName = UniqueName {}
Variables
data FortranVar a where Source #
A variable representing a value of type a
. Contains a
as proof
that the type has a corresponding Fortran type, and the variable name.D
a
Constructors
FortranVar :: D a -> NamePair -> FortranVar a |
Instances
VerifiableVar FortranVar Source # | |
Defined in Language.Fortran.Model.Vars Associated Types type VarKey FortranVar # type VarSym FortranVar :: Type -> Type # type VarEnv FortranVar # Methods symForVar :: FortranVar a -> VarEnv FortranVar -> Symbolic (VarSym FortranVar a) # varKey :: FortranVar a -> VarKey FortranVar # eqVarTypes :: FortranVar a -> FortranVar b -> Maybe (a :~: b) # castVarSym :: FortranVar a -> VarSym FortranVar b -> Maybe (VarSym FortranVar a) # | |
Pretty1 FortranVar Source # | |
Defined in Language.Fortran.Model.Vars Methods pretty1 :: forall (a :: k). FortranVar a -> String # prettys1Prec :: forall (a :: k). Int -> FortranVar a -> ShowS # | |
type VarEnv FortranVar Source # | |
Defined in Language.Fortran.Model.Vars | |
type VarKey FortranVar Source # | |
Defined in Language.Fortran.Model.Vars | |
type VarSym FortranVar Source # | |
Defined in Language.Fortran.Model.Vars |
Names
A NamePair
represents the name of some part of a Fortran program,
including the human-readable source name and the unique name.
Constructors
NamePair | |
Fields |
newtype SourceName Source #
Newtype wrapper for source-level variable names.
Constructors
SourceName | |
Fields |
Instances
Show SourceName Source # | |
Defined in Language.Fortran.Model.Vars Methods showsPrec :: Int -> SourceName -> ShowS # show :: SourceName -> String # showList :: [SourceName] -> ShowS # | |
Eq SourceName Source # | |
Defined in Language.Fortran.Model.Vars | |
Ord SourceName Source # | |
Defined in Language.Fortran.Model.Vars Methods compare :: SourceName -> SourceName -> Ordering # (<) :: SourceName -> SourceName -> Bool # (<=) :: SourceName -> SourceName -> Bool # (>) :: SourceName -> SourceName -> Bool # (>=) :: SourceName -> SourceName -> Bool # max :: SourceName -> SourceName -> SourceName # min :: SourceName -> SourceName -> SourceName # | |
Wrapped SourceName Source # | |
Pretty SourceName Source # | |
Defined in Language.Fortran.Model.Vars | |
SourceName ~ t => Rewrapped SourceName t Source # | |
Defined in Language.Fortran.Model.Vars | |
type Unwrapped SourceName Source # | |
Defined in Language.Fortran.Model.Vars |
newtype UniqueName Source #
Newtype wrapper for unique variable names.
Constructors
UniqueName | |
Fields |
Instances
Show UniqueName Source # | |
Defined in Language.Fortran.Model.Vars Methods showsPrec :: Int -> UniqueName -> ShowS # show :: UniqueName -> String # showList :: [UniqueName] -> ShowS # | |
Eq UniqueName Source # | |
Defined in Language.Fortran.Model.Vars | |
Ord UniqueName Source # | |
Defined in Language.Fortran.Model.Vars Methods compare :: UniqueName -> UniqueName -> Ordering # (<) :: UniqueName -> UniqueName -> Bool # (<=) :: UniqueName -> UniqueName -> Bool # (>) :: UniqueName -> UniqueName -> Bool # (>=) :: UniqueName -> UniqueName -> Bool # max :: UniqueName -> UniqueName -> UniqueName # min :: UniqueName -> UniqueName -> UniqueName # | |
Wrapped UniqueName Source # | |
UniqueName ~ t => Rewrapped UniqueName t Source # | |
Defined in Language.Fortran.Model.Vars | |
type Unwrapped UniqueName Source # | |
Defined in Language.Fortran.Model.Vars |