Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Usage
- data UsageEnv
- addUE :: UsageEnv -> UsageEnv -> UsageEnv
- addUsage :: Usage -> Usage -> Usage
- bottomUE :: UsageEnv
- deleteUE :: NamedThing n => UsageEnv -> n -> UsageEnv
- lookupUE :: NamedThing n => UsageEnv -> n -> Usage
- popUE :: NamedThing n => UsageEnv -> n -> (Usage, UsageEnv)
- scaleUE :: Mult -> UsageEnv -> UsageEnv
- scaleUsage :: Mult -> Usage -> Usage
- supUE :: UsageEnv -> UsageEnv -> UsageEnv
- supUEs :: [UsageEnv] -> UsageEnv
- singleUsageUE :: Id -> UsageEnv
- zeroUE :: UsageEnv
Documentation
Instances
Instances
lookupUE :: NamedThing n => UsageEnv -> n -> Usage Source #
|lookupUE x env| returns the multiplicity assigned to |x| in |env|, if |x| is not bound in |env|, then returns |Zero| or |Bottom|.
singleUsageUE :: Id -> UsageEnv Source #
Record a single usage of an Id, i.e. {n: 1} Exception: We do not record external names (both GlobalIds and top-level LocalIds) because they're not relevant to linearity checking.