Refactor the implementation of arrow notation
|Reported by:||simonpj||Owned by:||ross|
|Type of failure:||None/Unknown||Difficulty:||Unknown|
|Test Case:||Blocked By:|
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
Change History (14)
comment:7 Changed 4 years ago by igloo
- Milestone changed from 6.12.3 to 6.14.1
- Priority changed from normal to low
comment:11 Changed 2 years ago by igloo
- Milestone changed from 7.4.1 to 7.6.1
- Priority changed from low to lowest