| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
PlutusCore.Analysis.Definitions
Description
Definition analysis for Plutus Core.
Synopsis
- type UniqueInfos ann = UniqueMap Unique (UniqueInfo ann)
- data ScopeType
- termDefs ∷ (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) ⇒ Term tyname name uni fun ann → m ()
- handleType ∷ (Ord ann, HasUnique tyname TypeUnique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) ⇒ Type tyname uni ann → m ()
- runTermDefs ∷ (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, Monad m) ⇒ Term tyname name uni fun ann → m (UniqueInfos ann, [UniqueError ann])
- addDef ∷ (Ord ann, HasUnique n unique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) ⇒ n → ann → ScopeType → m ()
- addUsage ∷ (Ord ann, HasUnique n unique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) ⇒ n → ann → ScopeType → m ()
Documentation
type UniqueInfos ann = UniqueMap Unique (UniqueInfo ann) Source #
Tag for distinguishing between whether we are talking about the term scope for variables or the type scope for variables.
Instances
| Eq ScopeType Source # | |
| Ord ScopeType Source # | |
| Defined in PlutusCore.Analysis.Definitions | |
termDefs ∷ (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) ⇒ Term tyname name uni fun ann → m () Source #
Given a PLC term, add all of its term and type definitions and usages, including its subterms and subtypes, to a global map.
handleType ∷ (Ord ann, HasUnique tyname TypeUnique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) ⇒ Type tyname uni ann → m () Source #
Given a type, add its type definition/usage, including its subtypes, to a global map.
runTermDefs ∷ (Ord ann, HasUnique name TermUnique, HasUnique tyname TypeUnique, Monad m) ⇒ Term tyname name uni fun ann → m (UniqueInfos ann, [UniqueError ann]) Source #
Arguments
| ∷ (Ord ann, HasUnique n unique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) | |
| ⇒ n | The variable | 
| → ann | The annotation of the variable | 
| → ScopeType | The scope type | 
| → m () | 
Arguments
| ∷ (Ord ann, HasUnique n unique, MonadState (UniqueInfos ann) m, MonadWriter [UniqueError ann] m) | |
| ⇒ n | The variable | 
| → ann | The annotation of the variable | 
| → ScopeType | The scope type | 
| → m () |