fortran-src-0.6.0: Parsers and analyses for Fortran standards 66, 77, 90 and 95.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Fortran.Version

Description

Fortran version enum and tools for selecting version for a given file.

Synopsis

Documentation

data FortranVersion Source #

The Fortran specification version used (or relevant to its context).

The constructor ordering is important, since it's used for the Ord instance (which is used extensively for pretty printing).

Instances

Instances details
Eq FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Data FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FortranVersion -> c FortranVersion #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FortranVersion #

toConstr :: FortranVersion -> Constr #

dataTypeOf :: FortranVersion -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FortranVersion) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FortranVersion) #

gmapT :: (forall b. Data b => b -> b) -> FortranVersion -> FortranVersion #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FortranVersion -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FortranVersion -> r #

gmapQ :: (forall d. Data d => d -> u) -> FortranVersion -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FortranVersion -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FortranVersion -> m FortranVersion #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FortranVersion -> m FortranVersion #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FortranVersion -> m FortranVersion #

Ord FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Show FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Generic FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Associated Types

type Rep FortranVersion :: Type -> Type #

NFData FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

Methods

rnf :: FortranVersion -> () #

Out FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

type Rep FortranVersion Source # 
Instance details

Defined in Language.Fortran.Version

type Rep FortranVersion = D1 ('MetaData "FortranVersion" "Language.Fortran.Version" "fortran-src-0.6.0-inplace" 'False) (((C1 ('MetaCons "Fortran66" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fortran77" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Fortran77Extended" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fortran77Legacy" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Fortran90" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fortran95" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Fortran2003" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fortran2008" 'PrefixI 'False) (U1 :: Type -> Type))))

deduceFortranVersion :: FilePath -> FortranVersion Source #

Deduce the FortranVersion from a FilePath using extension.

Defaults to Fortran 90 if suffix is unrecognized.

deduceVersion :: FilePath -> FortranVersion Source #

Alias for previous function name. TODO: deprecate eventually.