traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.ProtoLang.Vars

Synopsis

Documentation

type VarSet = Set Ident #

class HasFreeVars t where #

Any language termexpr... that has a (possibly empty) set of free variables.

Minimal complete definition

Nothing

Methods

freeVarsList :: t -> [Ident] #

default freeVarsList :: (Generic t, GHasFreeVars (Rep t)) => t -> [Ident] #

Instances

Instances details
HasFreeVars Void # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

freeVarsList :: Void -> [Ident] #

HasFreeVars ext => HasFreeVars (AnnFailProb ext) # 
Instance details

Defined in Traq.Analysis.Annotate.Prelude

Methods

freeVarsList :: AnnFailProb ext -> [Ident] #

HasFreeVars (Primitive prim) # 
Instance details

Defined in Traq.Primitives.Class

Methods

freeVarsList :: Primitive prim -> [Ident] #

HasFreeVars (BasicExpr sizeT) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

freeVarsList :: BasicExpr sizeT -> [Ident] #

HasFreeVars (DistrExpr sizeT) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

freeVarsList :: DistrExpr sizeT -> [Ident] #

HasFreeVars ext => HasFreeVars (Expr ext) #

The set of free (unbound) variables in an expression

Instance details

Defined in Traq.ProtoLang.Vars

Methods

freeVarsList :: Expr ext -> [Ident] #

HasFreeVars ext => HasFreeVars (Stmt ext) #

The set of free (unbound) variables

Instance details

Defined in Traq.ProtoLang.Vars

Methods

freeVarsList :: Stmt ext -> [Ident] #

HasFreeVars (Core size prec) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

freeVarsList :: Core size prec -> [Ident] #

checkVarsUnique :: HasFreeVars ext => Program ext -> Bool #

Check if a program has unique variable names

allNamesP :: HasFreeVars ext => Program ext -> VarSet #

Get all the variables of a program

class RenameVars p where #

Make all variable names in the program unique

Methods

renameVars :: Ident -> p -> p #

Instances

Instances details
RenameVars PartialFun # 
Instance details

Defined in Traq.Primitives.Class.Prelude

RenameVars (Primitive p) # 
Instance details

Defined in Traq.Primitives.Class

Methods

renameVars :: Ident -> Primitive p -> Primitive p #

RenameVars (BasicExpr size) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> BasicExpr size -> BasicExpr size #

RenameVars ext => RenameVars (Expr ext) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> Expr ext -> Expr ext #

RenameVars ext => RenameVars (FunBody ext) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> FunBody ext -> FunBody ext #

RenameVars ext => RenameVars (FunDef ext) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> FunDef ext -> FunDef ext #

RenameVars ext => RenameVars (NamedFunDef ext) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> NamedFunDef ext -> NamedFunDef ext #

RenameVars ext => RenameVars (Program ext) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> Program ext -> Program ext #

RenameVars ext => RenameVars (Stmt ext) # 
Instance details

Defined in Traq.ProtoLang.Vars

Methods

renameVars :: Ident -> Stmt ext -> Stmt ext #

outVars :: Stmt ext -> VarSet #

The set of generated output variables