[GHC] #12243: RebindableSyntax and OverloadedLabels

#12243: RebindableSyntax and OverloadedLabels -------------------------------------+------------------------------------- Reporter: htebalaka | Owner: Type: feature | Status: new request | Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Should these extensions work together? I wasn't able to come up with a good motivating example; I was playing around with lenses, and thought a more restrictive class definition might aid type inference, though it turned out in that particular case it didn't. In the general case I think it might still be useful. I didn't see any discussion on this, and it seemed like maybe it's an oversight. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12243 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#12243: RebindableSyntax and OverloadedLabels -------------------------------------+------------------------------------- Reporter: htebalaka | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: ORF 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 adamgundry): * cc: adamgundry (added) * keywords: => ORF Comment: I think this makes sense, although it's hard to think of use cases (perhaps something involving interpreting labels with higher-rank types?). You're right that it is simply an oversight. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12243#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#12243: RebindableSyntax and OverloadedLabels -------------------------------------+------------------------------------- Reporter: htebalaka | Owner: adamgundry Type: feature request | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: ORF 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 adamgundry): * owner: => adamgundry * milestone: => 8.2.1 Comment: A [https://www.reddit.com/r/haskell/comments/4x8tk8/overloadedlabels_considered... reddit discussion] made me realise that there are some use cases for this. In particular, the translation of overloaded labels to `IsLabel` may introduce ambiguous type variables, which could be avoided using a more restrictive `fromLabel` (e.g. constraining it to be a field selector, one we have `OverloadedRecordFields`). Essentially, rebindable syntax makes it possible to choose a single `IsLabel` instance for an entire module. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12243#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#12243: RebindableSyntax and OverloadedLabels -------------------------------------+------------------------------------- Reporter: htebalaka | Owner: adamgundry Type: feature request | Status: patch Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: ORF Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | overloadedrecflds/should_run/T12243 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2708 Wiki Page: | -------------------------------------+------------------------------------- Changes (by adamgundry): * status: new => patch * testcase: => overloadedrecflds/should_run/T12243 * differential: => Phab:D2708 Comment: I've implemented this as part of my reworking of `OverloadedLabels` described in https://github.com/ghc-proposals/ghc-proposals/pull/6 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12243#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#12243: RebindableSyntax and OverloadedLabels -------------------------------------+------------------------------------- Reporter: htebalaka | Owner: adamgundry Type: feature request | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: fixed | Keywords: ORF Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | overloadedrecflds/should_run/T12243 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2708 Wiki Page: | -------------------------------------+------------------------------------- Changes (by adamgundry): * status: patch => closed * resolution: => fixed -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12243#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC