Copyright | (c) Wolfgang Lux 2011 - 2015 Björn Peemöller 2015 Jan Tikovsky |
---|---|
License | BSD-3-clause |
Maintainer | bjp@informatik.uni-kiel.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Base.Expr
Description
The compiler needs to compute the lists of free and bound variables for
various different entities. We will devote three type classes to that
purpose. The QualExpr
class is expected to take into account
that it is possible to use a qualified name to refer to a function
defined in the current module and therefore M.x
and x
, where
M
is the current module name, should be considered the same name.
However, note that this is correct only after renaming all local
definitions as M.x
always denotes an entity defined at the
top-level.
Documentation
Minimal complete definition
class QualExpr e where Source #
Minimal complete definition
Instances
QualExpr Statement Source # | |
QualExpr Rhs Source # | |
QualExpr Pattern Source # | |
QualExpr Lhs Source # | |
QualExpr InfixOp Source # | |
QualExpr Expression Source # | |
QualExpr Equation Source # | |
QualExpr Decl Source # | |
QualExpr CondExpr Source # | |
QualExpr Alt Source # | |
QualExpr e => QualExpr [e] Source # | |
QualExpr a => QualExpr (Field a) Source # | |