Safe Haskell | None |
---|---|
Language | Haskell2010 |
Michelson annotations in untyped model.
Synopsis
- newtype Annotation tag = Annotation Text
- pattern WithAnn :: Annotation tag -> Annotation tag
- type TypeAnn = Annotation TypeTag
- type FieldAnn = Annotation FieldTag
- type VarAnn = Annotation VarTag
- class RenderAnn t where
- noAnn :: Annotation a
- ann :: Text -> Annotation a
- unifyAnn :: Annotation tag -> Annotation tag -> Maybe (Annotation tag)
- ifAnnUnified :: Annotation tag -> Annotation tag -> Bool
- disjoinVn :: VarAnn -> (VarAnn, VarAnn)
- convAnn :: Annotation tag1 -> Annotation tag2
Documentation
newtype Annotation tag Source #
Instances
pattern WithAnn :: Annotation tag -> Annotation tag Source #
type TypeAnn = Annotation TypeTag Source #
type FieldAnn = Annotation FieldTag Source #
type VarAnn = Annotation VarTag Source #
class RenderAnn t where Source #
Typeclass for printing annotations, renderAnn
prints empty prefix in case of noAnn
.
Such functionality is required in case when instruction has two annotations of the same type, former is empty and the latter is not. So that `PAIR noAnn noAnn noAnn %kek` is printed as `PAIR % %kek`
noAnn :: Annotation a Source #
ann :: Text -> Annotation a Source #
unifyAnn :: Annotation tag -> Annotation tag -> Maybe (Annotation tag) Source #
ifAnnUnified :: Annotation tag -> Annotation tag -> Bool Source #
convAnn :: Annotation tag1 -> Annotation tag2 Source #