camfort-0.902: CamFort - Cambridge Fortran infrastructure

Safe HaskellNone
LanguageHaskell2010

Camfort.Specification.Units.Environment

Synopsis

Documentation

type VV = (Name, Name) Source #

A (unique name, source name) variable

data UnitInfo Source #

Description of the unit of an expression.

Instances

Eq UnitInfo Source # 
Data UnitInfo Source # 

Methods

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

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

toConstr :: UnitInfo -> Constr #

dataTypeOf :: UnitInfo -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord UnitInfo Source # 
Show UnitInfo Source # 
Generic UnitInfo Source # 

Associated Types

type Rep UnitInfo :: * -> * #

Methods

from :: UnitInfo -> Rep UnitInfo x #

to :: Rep UnitInfo x -> UnitInfo #

Binary UnitInfo Source # 

Methods

put :: UnitInfo -> Put #

get :: Get UnitInfo #

putList :: [UnitInfo] -> Put #

type Rep UnitInfo Source # 
type Rep UnitInfo = D1 (MetaData "UnitInfo" "Camfort.Specification.Units.Environment" "camfort-0.902-8Im6xuROuWMLHG7LAKbLqn" False) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "UnitParamPosAbs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (String, Int)))) (C1 (MetaCons "UnitParamPosUse" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (String, Int, Int))))) ((:+:) (C1 (MetaCons "UnitParamVarAbs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (String, VV)))) (C1 (MetaCons "UnitParamVarUse" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (String, VV, Int)))))) ((:+:) ((:+:) (C1 (MetaCons "UnitParamLitAbs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "UnitParamLitUse" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Int, Int))))) ((:+:) (C1 (MetaCons "UnitParamEAPAbs" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VV))) (C1 (MetaCons "UnitParamEAPUse" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (VV, Int))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "UnitLiteral" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) (C1 (MetaCons "UnitlessLit" PrefixI False) U1)) ((:+:) (C1 (MetaCons "UnitlessVar" PrefixI False) U1) (C1 (MetaCons "UnitName" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))))) ((:+:) ((:+:) (C1 (MetaCons "UnitAlias" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String))) (C1 (MetaCons "UnitVar" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VV)))) ((:+:) (C1 (MetaCons "UnitMul" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UnitInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UnitInfo)))) ((:+:) (C1 (MetaCons "UnitPow" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 UnitInfo)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Double)))) (C1 (MetaCons "UnitRecord" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(String, UnitInfo)]))))))))

data Constraint Source #

A relation between UnitInfos

Instances

Eq Constraint Source # 
Data Constraint Source # 

Methods

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

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

toConstr :: Constraint -> Constr #

dataTypeOf :: Constraint -> DataType #

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

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

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

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

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

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

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

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

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

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

Ord Constraint Source # 
Show Constraint Source # 
Generic Constraint Source # 

Associated Types

type Rep Constraint :: * -> * #

Binary Constraint Source # 
type Rep Constraint Source # 

conParamEq :: Constraint -> Constraint -> Bool Source #

Constraint parametric equality: treat all uses of a parametric abstractions as equivalent to the abstraction.

unitParamEq :: UnitInfo -> UnitInfo -> Bool Source #

Unit parametric equality: treat all uses of a parametric abstractions as equivalent to the abstraction.

data UnitAnnotation a Source #

Instances

Linkable UA Source # 
ASTEmbeddable UA UnitStatement Source # 
Data a => Data (UnitAnnotation a) Source # 

Methods

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

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

toConstr :: UnitAnnotation a -> Constr #

dataTypeOf :: UnitAnnotation a -> DataType #

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

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

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

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

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

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

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

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

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

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

Show a => Show (UnitAnnotation a) Source # 

toUnitInfo :: UnitOfMeasure -> UnitInfo Source #

Convert parser units to UnitInfo