| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Camfort.Specification.Units.Environment
- type VV = (Name, Name)
 - data UnitInfo
- = UnitParamPosAbs (String, Int)
 - | UnitParamPosUse (String, Int, Int)
 - | UnitParamVarAbs (String, VV)
 - | UnitParamVarUse (String, VV, Int)
 - | UnitParamLitAbs Int
 - | UnitParamLitUse (Int, Int)
 - | UnitParamEAPAbs VV
 - | UnitParamEAPUse (VV, Int)
 - | UnitLiteral Int
 - | UnitlessLit
 - | UnitlessVar
 - | UnitName String
 - | UnitAlias String
 - | UnitVar VV
 - | UnitMul UnitInfo UnitInfo
 - | UnitPow UnitInfo Double
 - | UnitRecord [(String, UnitInfo)]
 
 - doubleToRationalSubset :: Double -> Maybe Rational
 - data Constraint
 - type Constraints = [Constraint]
 - isVarUnit :: UnitInfo -> Bool
 - isUnresolvedUnit :: UnitInfo -> Bool
 - isResolvedUnit :: UnitInfo -> Bool
 - pprintConstr :: Constraint -> String
 - pprintUnitInfo :: UnitInfo -> String
 - conParamEq :: Constraint -> Constraint -> Bool
 - unitParamEq :: UnitInfo -> UnitInfo -> Bool
 - data UnitAnnotation a = UnitAnnotation {
- prevAnnotation :: a
 - unitSpec :: Maybe UnitStatement
 - unitConstraint :: Maybe Constraint
 - unitInfo :: Maybe UnitInfo
 - unitBlock :: Maybe (Block (Analysis (UnitAnnotation a)))
 - unitPU :: Maybe (ProgramUnit (Analysis (UnitAnnotation a)))
 
 - dbgUnitAnnotation :: UnitAnnotation t -> [Char]
 - mkUnitAnnotation :: a -> UnitAnnotation a
 - toUnitInfo :: UnitOfMeasure -> UnitInfo
 
Documentation
Description of the unit of an expression.
Constructors
data Constraint Source #
A relation between UnitInfos
Constructors
| ConEq UnitInfo UnitInfo | |
| ConConj [Constraint] | 
Instances
type Constraints = [Constraint] Source #
isUnresolvedUnit :: UnitInfo -> Bool Source #
isResolvedUnit :: UnitInfo -> Bool Source #
pprintConstr :: Constraint -> String Source #
pprintUnitInfo :: UnitInfo -> String 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 #
Constructors
| UnitAnnotation | |
Fields 
  | |
Instances
| Linkable UA Source # | |
| ASTEmbeddable UA UnitStatement Source # | |
| Data a => Data (UnitAnnotation a) Source # | |
| Show a => Show (UnitAnnotation a) Source # | |
dbgUnitAnnotation :: UnitAnnotation t -> [Char] Source #
mkUnitAnnotation :: a -> UnitAnnotation a Source #
toUnitInfo :: UnitOfMeasure -> UnitInfo Source #
Convert parser units to UnitInfo