At the moment HsExpr includes the following two constructors
| ExprWithTySig
(LHsExpr id)
(LHsSigWcType id)
| ExprWithTySigOut -- Post typechecking
(LHsExpr id)
(LHsSigWcType Name) -- Retain the signature,
-- as HsSigType Name, for
-- round-tripping purposes
I do not understand why we need the second one, which hard-codes Name
instead of id.
There are a couple of places where there is an XXXOut variant with
hard coded Name parameter, and these complicate creating any kind of
custom class intended to work on a parameterised AST as it ripples out
and forces Name instances of it everywhere.
Perhaps we should introduce HsExprLR id id to cope with renaming?
Alan
_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs