[GHC] #12646: Type family reification misses a kind signature
#12646: Type family reification misses a kind signature -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Template | Version: 8.0.1 Haskell | 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: -------------------------------------+------------------------------------- If I have {{{ type family F (a :: k) :: * where F (a :: * -> *) = Int F (a :: k) = Char }}} and then print out the reification of `F`, I get (when pretty-printed) {{{ type family Ghci1.F (a_0 :: k_1) :: * where Ghci1.F a_2 = GHC.Types.Int Ghci1.F a_3 = GHC.Types.Char }}} Note that the kind signature on the first variable is dropped. This is '''not''' the fault of the pretty-printer, as the kind signature is dropped in the AST as well. The reifier should include the kind signature. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12646> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12646: Type family reification misses a kind signature -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: | Keywords: 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 RyanGlScott): * cc: RyanGlScott (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12646#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12646: Type family reification misses a kind signature -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Actually, might this be a duplicate of #8953? https://ghc.haskell.org/trac/ghc/ticket/8953#comment:14 mentions that closed type families haven't been covered, which seems to be the scope of this ticket. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12646#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12646: Type family reification misses a kind signature -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8953 | Differential Rev(s): Phab:D2795 Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * status: new => patch * differential: => Phab:D2795 * related: => #8953 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12646#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12646: Type family reification misses a kind signature -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8953 | Differential Rev(s): Phab:D2795 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ryan Scott <ryan.gl.scott@…>): In [changeset:"f65ff2c4c9b60e370a722ac7572186816e23e573/ghc" f65ff2c4/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="f65ff2c4c9b60e370a722ac7572186816e23e573" Disambiguate reified closed type family kinds in TH Summary: A continuation of #8953. This fixes an oversight in which the left-hand sides of closed type families, when reified in Template Haskell, would not be given kind annotations, even when they are necessary for disambiguation purposes in the presence of `PolyKinds`. Fixes #8953 and #12646. Test Plan: ./validate Reviewers: hvr, bgamari, austin, goldfire Reviewed By: goldfire Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2795 GHC Trac Issues: #8953, #12646 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12646#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#12646: Type family reification misses a kind signature -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8953 | Differential Rev(s): Phab:D2795 Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * status: patch => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12646#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC