Safe Haskell | None |
---|---|
Language | Haskell2010 |
A representation where all bindings are annotated with range information.
Synopsis
- data Ranges lore
- module Futhark.Representation.AST.Attributes.Ranges
- module Futhark.Representation.AST.Attributes
- module Futhark.Representation.AST.Traversals
- module Futhark.Representation.AST.Pretty
- module Futhark.Representation.AST.Syntax
- addRangesToPattern :: (Attributes lore, CanBeRanged (Op lore)) => Pattern lore -> Exp (Ranges lore) -> Pattern (Ranges lore)
- mkRangedLetStm :: (Attributes lore, CanBeRanged (Op lore)) => Pattern lore -> ExpAttr lore -> Exp (Ranges lore) -> Stm (Ranges lore)
- mkRangedBody :: BodyAttr lore -> Stms (Ranges lore) -> Result -> Body (Ranges lore)
- mkPatternRanges :: (Attributes lore, CanBeRanged (Op lore)) => Pattern lore -> Exp (Ranges lore) -> ([PatElemT (Range, LetAttr lore)], [PatElemT (Range, LetAttr lore)])
- mkBodyRanges :: Stms lore -> Result -> [Range]
- removeProgRanges :: CanBeRanged (Op lore) => Prog (Ranges lore) -> Prog lore
- removeFunDefRanges :: CanBeRanged (Op lore) => FunDef (Ranges lore) -> FunDef lore
- removeExpRanges :: CanBeRanged (Op lore) => Exp (Ranges lore) -> Exp lore
- removeBodyRanges :: CanBeRanged (Op lore) => Body (Ranges lore) -> Body lore
- removeStmRanges :: CanBeRanged (Op lore) => Stm (Ranges lore) -> Stm lore
- removeLambdaRanges :: CanBeRanged (Op lore) => Lambda (Ranges lore) -> Lambda lore
- removePatternRanges :: PatternT (Range, a) -> PatternT a
The Lore definition
The lore for the basic representation.
Instances
Module re-exports
Adding ranges
addRangesToPattern :: (Attributes lore, CanBeRanged (Op lore)) => Pattern lore -> Exp (Ranges lore) -> Pattern (Ranges lore) Source #
mkRangedLetStm :: (Attributes lore, CanBeRanged (Op lore)) => Pattern lore -> ExpAttr lore -> Exp (Ranges lore) -> Stm (Ranges lore) Source #
mkPatternRanges :: (Attributes lore, CanBeRanged (Op lore)) => Pattern lore -> Exp (Ranges lore) -> ([PatElemT (Range, LetAttr lore)], [PatElemT (Range, LetAttr lore)]) Source #
Removing ranges
removeProgRanges :: CanBeRanged (Op lore) => Prog (Ranges lore) -> Prog lore Source #
removeFunDefRanges :: CanBeRanged (Op lore) => FunDef (Ranges lore) -> FunDef lore Source #
removeExpRanges :: CanBeRanged (Op lore) => Exp (Ranges lore) -> Exp lore Source #
removeBodyRanges :: CanBeRanged (Op lore) => Body (Ranges lore) -> Body lore Source #
removeStmRanges :: CanBeRanged (Op lore) => Stm (Ranges lore) -> Stm lore Source #
removeLambdaRanges :: CanBeRanged (Op lore) => Lambda (Ranges lore) -> Lambda lore Source #