Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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
type Constraints = [Constraint] Source #
data UnitAnnotation a Source #
UnitAnnotation | |
|
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.
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