[GHC] #8555: Simplify given `Coercible` constraints

#8555: Simplify given `Coercible` constraints -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.7 checker) | Operating System: Unknown/Multiple Keywords: | Type of failure: GHC rejects Architecture: Unknown/Multiple | valid program Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8503 | -------------------------------------+------------------------------------- It would be feasible and possibly useful if {{{ foo :: Coercible [a] [b] => a -> b foo = coerce }}} would work. This involve simplifying `CtGiven`s similar to how given (nominal) equalities are simplified. I’ll defer working on this, as it is not strictly required, it seems. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 ----------------------------------------------+---------------------------- Comment (by goldfire): Certainly nothing blocking this at the Core level... the `Nth` coercion constructor would do the right thing here. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 | #8555 ----------------------------------------------+---------------------------- Changes (by nomeata): * related: #8503 => #8503 #8555 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: archblob Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 | #8555 ----------------------------------------------+---------------------------- Changes (by archblob): * cc: fcsernik@… (added) * owner: => archblob Comment: This looks like a good place to further my understanding of ghc internals so I'll give it a try if no one else is doing it currently, so if someone is, please say so and don't let me waste my time :-P. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: archblob Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 | #8555 ----------------------------------------------+---------------------------- Comment (by nomeata): Nobody is working on it, so if you feel like it, please give it a shot. (But also beware that in the last months, nobody was missing the feature, so it may have a limited impact – don’t let that lessen your motivation!) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: archblob Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 | #8555 ----------------------------------------------+---------------------------- Comment (by simonpj): I doubt that this is very useful in practice. I think there are plenty of other more directly useful tickets. Eg look at [wiki:Status/SLPJ- Tickets]. For example, #5610/#7243 looks tractable and useful. #8281 looks as if it needs a push. Etc. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: archblob Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 | #8555 ----------------------------------------------+---------------------------- Comment (by archblob): Yeah, I am more interested in the typechecker part of ghc at the moment, so I just chose something recent. I'll certainly have a lookt at those tickets and see if I can help. :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints ----------------------------------------------+---------------------------- Reporter: nomeata | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects valid program | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8503 | #8555 ----------------------------------------------+---------------------------- Changes (by archblob): * owner: archblob => -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler (Type | Version: 7.7 checker) | Keywords: Resolution: fixed | Architecture: Operating System: Unknown/Multiple | Unknown/Multiple Type of failure: GHC rejects | Test Case: valid program | Blocking: Blocked By: | Differential Revisions: Related Tickets: #8503 #8555 | -------------------------------------+------------------------------------- Changes (by nomeata): * cc: goldfire (added) * status: new => closed * resolution: => fixed Comment: Due to Richards rewrite of the Coercible parser, this now works. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8555: Simplify given `Coercible` constraints
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner:
Type: feature request | Status: closed
Priority: normal | Milestone:
Component: Compiler (Type | Version: 7.7
checker) | Keywords:
Resolution: fixed | Architecture:
Operating System: Unknown/Multiple | Unknown/Multiple
Type of failure: GHC rejects | Test Case:
valid program | Blocking:
Blocked By: | Differential Revisions:
Related Tickets: #8503 #8555 |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones

#8555: Simplify given `Coercible` constraints -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler (Type | Version: 7.7 checker) | Keywords: Resolution: fixed | Architecture: Operating System: Unknown/Multiple | Unknown/Multiple Type of failure: GHC rejects | Test Case: valid program | typecheck/should_compile/T8555 Blocked By: | Blocking: Related Tickets: #8503 #8555 | Differential Revisions: -------------------------------------+------------------------------------- Changes (by simonpj): * testcase: => typecheck/should_compile/T8555 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8555#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC