| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Camfort.Specification.Units.Environment
- data Constraint
- type Constraints = [Constraint]
- 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)))
- data UnitInfo
- = UnitParamPosAbs (PP, Int)
- | UnitParamPosUse (PP, Int, Int)
- | UnitParamVarAbs (PP, VV)
- | UnitParamVarUse (PP, VV, Int)
- | UnitParamLitAbs UniqueId
- | UnitParamLitUse (UniqueId, 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)]
- type VV = (Name, Name)
- type PP = (Name, Name)
- conParamEq :: Constraint -> Constraint -> Bool
- doubleToRationalSubset :: Double -> Maybe Rational
- mkUnitAnnotation :: a -> UnitAnnotation a
- pprintConstr :: Constraint -> String
- pprintUnitInfo :: UnitInfo -> String
- toUnitInfo :: UnitOfMeasure -> UnitInfo
- module Data.Data
Datatypes and Aliases
data Constraint Source #
A relation between UnitInfos
Constructors
| ConEq UnitInfo UnitInfo | |
| ConConj [Constraint] |
Instances
type Constraints = [Constraint] Source #
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 # | |
Description of the unit of an expression.
Constructors
| UnitParamPosAbs (PP, Int) | |
| UnitParamPosUse (PP, Int, Int) | |
| UnitParamVarAbs (PP, VV) | |
| UnitParamVarUse (PP, VV, Int) | |
| UnitParamLitAbs UniqueId | |
| UnitParamLitUse (UniqueId, 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)] |
Helpers
conParamEq :: Constraint -> Constraint -> Bool Source #
Constraint parametric equality: treat all uses of a parametric
abstractions as equivalent to the abstraction.
mkUnitAnnotation :: a -> UnitAnnotation a Source #
pprintConstr :: Constraint -> String Source #
pprintUnitInfo :: UnitInfo -> String Source #
toUnitInfo :: UnitOfMeasure -> UnitInfo Source #
Convert parser units to UnitInfo
Modules (instances)
module Data.Data