Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Haskell.Exts.Util
- class Located a where
- type LocType a
- class Located a => FreeVars a where
- data Vars s = Vars {}
- class Located a => AllVars a where
- class Brackets a where
- paren :: (Data l, Default l) => Exp l -> Exp l
- transformBracket :: (Data l, Default l) => (Exp l -> Maybe (Exp l)) -> Exp l -> Exp l
- rebracket1 :: (Data l, Default l) => Exp l -> Exp l
- appsBracket :: (Data l, Default l) => [Exp l] -> Exp l
Types annotated with source code locations
class Located a where Source #
Class of types containing source code locations
Minimal complete definition
Methods
location :: forall f. Applicative f => (LocType a -> f (LocType a)) -> a -> f a Source #
Traversal providing access to the location details
Instances
Located a => Located [a] Source # | |
Located a => Located (Maybe a) Source # | |
(Located a, Ord a) => Located (Set a) Source # | |
Located (Name s) Source # | |
Located (QOp s) Source # | |
Located (Decl s) Source # | |
Located (Binds s) Source # | |
Located (IPBind s) Source # | |
Located (Match s) Source # | |
Located (Rhs s) Source # | |
Located (GuardedRhs s) Source # | |
Located (Exp s) Source # | |
Located (Pat s) Source # | |
Located (Stmt s) Source # | |
Located (QualStmt s) Source # | |
Located (Alt s) Source # | |
Ord s => Located (Vars s) Source # | |
(Located a, Located b, (~) * (LocType a) (LocType b)) => Located (a, b) Source # | |
Free variables of ASTs
class Located a => FreeVars a where Source #
Minimal complete definition
Methods
freeVars :: a -> Set (Name (LocType a)) Source #
Return the variables, erring on the side of more free variables
Instances
(Data s, Ord s) => FreeVars [IPBind s] Source # | |
(Data s, Ord s) => FreeVars [Exp s] Source # | |
(Data s, Ord s) => FreeVars [Alt s] Source # | |
(Data s, Ord s) => FreeVars (Set (Name s)) Source # | |
(Data s, Ord s) => FreeVars (IPBind s) Source # | |
(Data s, Ord s) => FreeVars (Rhs s) Source # | |
(Data s, Ord s) => FreeVars (GuardedRhs s) Source # | |
(Data s, Ord s) => FreeVars (Exp s) Source # | |
(Data s, Ord s) => FreeVars (Alt s) Source # | |
class Located a => AllVars a where Source #
Minimal complete definition
Methods
allVars :: a -> Vars (LocType a) Source #
Return the variables, erring on the side of more free variables
Instances
(Data s, Ord s) => AllVars [Decl s] Source # | |
(Data s, Ord s) => AllVars [Match s] Source # | |
(Data s, Ord s) => AllVars [Pat s] Source # | |
(Data s, Ord s) => AllVars [Stmt s] Source # | |
(Data s, Ord s) => AllVars [QualStmt s] Source # | |
(Data s, Ord s) => AllVars (Maybe (Binds s)) Source # | |
(Data s, Ord s) => AllVars (Decl s) Source # | |
(Data s, Ord s) => AllVars (Binds s) Source # | |
(Data s, Ord s) => AllVars (Match s) Source # | |
(Data s, Ord s) => AllVars (Pat s) Source # | |
(Data s, Ord s) => AllVars (Stmt s) Source # | |
(Data s, Ord s) => AllVars (QualStmt s) Source # | |
(Data s, Ord s) => AllVars (Vars s) Source # | |
Rebracketing of ASTs
class Brackets a where Source #
Minimal complete definition
paren :: (Data l, Default l) => Exp l -> Exp l Source #
Add a Paren around something if it is not atomic