[GHC] #11031: Record Pattern Synonym Cleanup
GHC
ghc-devs at haskell.org
Wed Oct 28 16:13:26 UTC 2015
#11031: Record Pattern Synonym Cleanup
-------------------------------------+-------------------------------------
Reporter: mpickering | Owner:
Type: task | Status: new
Priority: low | Milestone:
Component: Compiler | Version: 7.11
Resolution: | Keywords: newcomer
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by bgamari):
* version: 7.10.2 => 7.11
Old description:
> Ben comments that there are some loose ends with record pattern synonyms
> (Phab:D1152),
>
> * It's still not clear to me that the free variables produced in
> `rnPatSynBind` are correct
> * Perhaps in the future we want to refactor `tc_single` to use a function
> which extends the typechecking environment instead of using `setGblEnv`
> * @mpickering's suggested refactoring of `RecSelId` to `RecSelId (Either
> PatSyn TyCon) Bool` described in the comment in `TcExpr.hs`
> * There is a TODO in `tc_patsyn_finish` which should either be clarified
> so it can be considered actionable, removed, or just fixed
>
> The comment from TcExpr was:
>
> > I tried to refactor RecSelId to RecSelId [DataCon] Bool but this causes
> some pain when it comes to the interface files. Next try it is something
> like RecSelId (Either PatSyn TyCon) Bool with the aim for something
> better in the future.
New description:
Ben comments that there are some loose ends with record pattern synonyms
(Phab:D1152),
* It's still not clear to me that the free variables produced in
`rnPatSynBind` are correct
* Perhaps in the future we want to refactor `tc_single` to use a function
which extends the typechecking environment instead of using `setGblEnv`
* @mpickering's suggested refactoring of `RecSelId` to `RecSelId (Either
PatSyn TyCon) Bool` described in the comment in `TcExpr.hs`
* There is a TODO in `tc_patsyn_finish` which should either be clarified
so it can be considered actionable, removed, or just fixed
The comment from `TcExpr` was:
> I tried to refactor `RecSelId `to `RecSelId [DataCon] Bool` but this
causes some pain when it comes to the interface files. Next try it is
something like `RecSelId (Either PatSyn TyCon) Bool` with the aim for
something better in the future.
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11031#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list