Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 {
- getSourceName :: Name
- newtype UniqueName = UniqueName {
- getUniqueName :: Name
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
FortranVar :: D a -> NamePair -> FortranVar a |
Instances
VerifiableVar FortranVar Source # | |
Defined in Language.Fortran.Model.Vars 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 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.
npSource :: Lens' NamePair SourceName Source #
npUnique :: Lens' NamePair UniqueName Source #
newtype SourceName Source #
Newtype wrapper for source-level variable names.
SourceName | |
|
Instances
newtype UniqueName Source #
Newtype wrapper for unique variable names.
UniqueName | |
|