Safe Haskell | None |
---|---|
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 {
- 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
Constructors
FortranVar :: D a -> NamePair -> FortranVar a |
Instances
VerifiableVar FortranVar Source # | |
Defined in Language.Fortran.Model.Vars 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 |
npSource :: Lens' NamePair SourceName Source #
npUnique :: Lens' NamePair UniqueName Source #
newtype SourceName Source #
Newtype wrapper for source-level variable names.
Constructors
SourceName | |
Fields
|
Instances
newtype UniqueName Source #
Newtype wrapper for unique variable names.
Constructors
UniqueName | |
Fields
|
Instances
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 # | |
Show UniqueName Source # | |
Defined in Language.Fortran.Model.Vars Methods showsPrec :: Int -> UniqueName -> ShowS # show :: UniqueName -> String # showList :: [UniqueName] -> ShowS # | |
Wrapped UniqueName Source # | |
Defined in Language.Fortran.Model.Vars Associated Types type Unwrapped UniqueName Methods _Wrapped' :: Iso' UniqueName (Unwrapped UniqueName) | |
UniqueName ~ t => Rewrapped UniqueName t Source # | |
Defined in Language.Fortran.Model.Vars | |
type Unwrapped UniqueName Source # | |
Defined in Language.Fortran.Model.Vars type Unwrapped UniqueName = Name |