Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
type Substitution = Map Id Expr Source
instructionArity :: Instruction -> (Int, Int) Source
maybeToSet :: Maybe a -> Set a Source
objectArity :: Object -> Int Source
evaluateNumExpr :: Expr -> Integer Source
substituteExpr :: Substitution -> Expr -> Expr Source
substituteLocId :: Substitution -> Id -> Id Source
substituteLocExpr :: Substitution -> LocExpr -> LocExpr Source
substituteElement :: Substitution -> Element -> Element Source
substituteObject :: Substitution -> Object -> Object Source
locationsElement :: Element -> Set Id Source
locationsElements :: [Element] -> Set Id Source
locationsObject :: Object -> Set Id Source
errorsObject :: Object -> [String] Source
boundedVars :: Object -> Set Id Source
freeVarExpr :: Expr -> Set Id Source
freeVarLocExpr :: LocExpr -> Set Id Source
freeVarElement :: Element -> Set Id Source
freeVarObject :: Object -> Set Id Source
freeVarModule :: Module -> Set Id Source
applyObject :: LabelPrefix -> Object -> [Expr] -> [Element] Source
applyObject' :: LabelPrefix -> Id -> [Id] -> [Element] -> [Expr] -> [Element] Source
type DistinctStack a = ([a], Set a) Source
push :: Ord a => a -> DistinctStack a -> Maybe (DistinctStack a) Source
pop :: Ord a => DistinctStack a -> Maybe (a, DistinctStack a) Source
singletonStack :: Ord a => a -> DistinctStack a Source
stackToList :: DistinctStack a -> [a] Source
expandMacroAll :: Module -> Module Source
expandMacro :: Module -> Object -> Object Source
expandMacro' :: DistinctStack Id -> Module -> LabelPrefix -> Element -> [Element] Source
addLocationPrefix :: LabelPrefix -> Set Id -> [Element] -> [Element] Source
type LabelPrefix = [Int] Source