#1777: Refactor the implementation of arrow notation
-----------------------+----------------------------------------------------
Reporter: simonpj | Owner: ross
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.6.1
Severity: normal | Keywords:
Difficulty: Unknown | Os: Unknown
Testcase: | Architecture: Unknown
-----------------------+----------------------------------------------------
The implementation of arrow notation is not really satisfactory. See #1662
for some background.
To fix it properly we need to re-factor the way that arrows are
typechecked. Ross and I discussed this. Our preliminary plan is this.
* Instead of re-using `HsExpr` for commands, make a new data type. (C.f.
the comments in `HsExpr` line 540 or so.)
* That will allow the renamer to decorate the (now command-specific) tree
with what variables are in scope where, and that in turn will greatly
simplify the desugarer. (The desugarer is currently duplicating much of
what the renamer does.)
* We'll need think about constraint gathering for "holes in the scope".
cf #1662
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1777>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs