Safe Haskell | Safe-Inferred |
---|---|
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 {}
- 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
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.
newtype SourceName Source #
Newtype wrapper for source-level variable names.
Instances
newtype UniqueName Source #
Newtype wrapper for unique variable names.
Instances
Show UniqueName Source # | |
Defined in Language.Fortran.Model.Vars showsPrec :: Int -> UniqueName -> ShowS # show :: UniqueName -> String # showList :: [UniqueName] -> ShowS # | |
Eq UniqueName Source # | |
Defined in Language.Fortran.Model.Vars (==) :: UniqueName -> UniqueName -> Bool # (/=) :: UniqueName -> UniqueName -> Bool # | |
Ord UniqueName Source # | |
Defined in Language.Fortran.Model.Vars 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 # | |
Defined in Language.Fortran.Model.Vars type Unwrapped UniqueName # | |
UniqueName ~ t => Rewrapped UniqueName t Source # | |
Defined in Language.Fortran.Model.Vars | |
type Unwrapped UniqueName Source # | |
Defined in Language.Fortran.Model.Vars |