language-dickinson-1.4.3.0: A language for generative literature
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Dickinson.Rename

Synopsis

Documentation

renameDickinsonM :: (MonadState s m, HasRenames s) => Dickinson a -> m (Dickinson a) Source #

The renamer ensures global uniqueness and is used during evaluation to clone expressions with bound variables.

renameExpressionM :: (MonadState s m, HasRenames s) => Expression a -> m (Expression a) Source #

Since: 0.1.1.0

data Renames Source #

Renamer state passed between various stages of compilation

Constructors

Renames 

Fields

Instances

Instances details
Generic Renames Source # 
Instance details

Defined in Language.Dickinson.Rename

Associated Types

type Rep Renames :: Type -> Type #

Methods

from :: Renames -> Rep Renames x #

to :: Rep Renames x -> Renames #

Binary Renames Source # 
Instance details

Defined in Language.Dickinson.Rename

Methods

put :: Renames -> Put #

get :: Get Renames #

putList :: [Renames] -> Put #

HasRenames Renames Source # 
Instance details

Defined in Language.Dickinson.Rename

Pretty Renames Source # 
Instance details

Defined in Language.Dickinson.Rename

Methods

pretty :: Renames -> Doc ann #

prettyList :: [Renames] -> Doc ann #

type Rep Renames Source # 
Instance details

Defined in Language.Dickinson.Rename

type Rep Renames = D1 ('MetaData "Renames" "Language.Dickinson.Rename" "language-dickinson-1.4.3.0-u4JKvBug5L7Xak6MfKGcR-dickinson" 'False) (C1 ('MetaCons "Renames" 'PrefixI 'True) (S1 ('MetaSel ('Just "max_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "bound") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (IntMap Int))))

class HasRenames a where Source #

Since: 0.1.1.0

Instances

Instances details
HasRenames Renames Source # 
Instance details

Defined in Language.Dickinson.Rename

HasRenames (EvalSt a) Source # 
Instance details

Defined in Language.Dickinson.Eval