[GHC] #9478: Partial type signatures
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Keywords: | Operating System: Architecture: Unknown/Multiple | Unknown/Multiple Difficulty: Unknown | Type of failure: Blocked By: | None/Unknown Related Tickets: | Test Case: | Blocking: | Differential Revisions: Phab:D168 -------------------------------------+------------------------------------- This ticket tracks progress on '''partial type signatures'''. * Wiki page [wiki:PartialTypeSignatures] * Phabricator link: Phab:D168 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature | Status: new request | Milestone: Priority: normal | Version: 7.8.2 Component: Compiler | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: | Blocking: | Differential Revisions: Phab:D168 | -------------------------------------+------------------------------------- Changes (by simonpj): * type: bug => feature request -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature | Status: new request | Milestone: Priority: normal | Version: 7.8.2 Component: Compiler | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: | Blocking: | Differential Revisions: Phab:D168 | -------------------------------------+------------------------------------- Comment (by Austin Seipp <austin@…>): In [changeset:"d831b6f41b3b89dc4a643069d5668c05a20f3c37/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="d831b6f41b3b89dc4a643069d5668c05a20f3c37" Implement Partial Type Signatures Summary: Add support for Partial Type Signatures, i.e. holes in types, see: https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures This requires an update to the Haddock submodule. Test Plan: validate Reviewers: austin, goldfire, simonpj Reviewed By: simonpj Subscribers: thomie, Iceland_jack, dominique.devriese, simonmar, carter, goldfire Differential Revision: https://phabricator.haskell.org/D168 GHC Trac Issues: #9478 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: Phab:D168 -------------------------------------+------------------------------------- Comment (by Thomas Miedema <thomasmiedema@…>): In [changeset:"5e66a698dae8c01bcd1a9335346145b32016e119/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="5e66a698dae8c01bcd1a9335346145b32016e119" Testsuite: change some expect_fail tests to expect_broken Change the following tests from expect_fail to expect_broken: and list the ticket number: * driver/sigof03m/sigof03 (#9252) * driver/static001 (#8127) * partial-sigs/should_compile/EqualityConstraint (#9478) * partial-sigs/should_compile/ExtraNumAMROn (#9478) * partial-sigs/should_compile/PatBind2 (#9478) * partial-sigs/should_fail/TidyClash2 (#9478) * simplCore/should_compile/T8832 (#8832) The following tests are still marked as expect_fail, but it is not clearly documented why so: * gadt/lazypatok * indexed-types/should_fail/SkolemOccursLoop All other expect_fail tests are only expected to fail on either a certain platform/os or for a certain way only. Differential Revision: https://phabricator.haskell.org/D966 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Changes (by mpickering): * status: new => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Thomas Miedema <thomasmiedema@…>): In [changeset:"2ae39acd1309c85dbc579976674bcef7172510c2/ghc" 2ae39acd/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="2ae39acd1309c85dbc579976674bcef7172510c2" Testsuite: accept new output for 2 partial-sigs tests Test Plan: make TEST='ExtraNumAMROn TidyClash2' Differential Revision: https://phabricator.haskell.org/D2155 GHC Trac Issues: #9478 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: partial- | sigs/should_compile/PatBind2 | partial- | sigs/should_compile/EqualityConstraint Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Changes (by thomie): * status: closed => new * testcase: => partial-sigs/should_compile/PatBind2 partial- sigs/should_compile/EqualityConstraint * resolution: fixed => Comment: Reopening, because the tests `EqualityConstraint` and `PatBind2` are still marked expect_broken for this ticket. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: partial- | sigs/should_compile/PatBind2 | partial- | sigs/should_compile/EqualityConstraint Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"e1ff2b4950a02bc26b9ab36c9c589a8156e324bd/ghc" e1ff2b49/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="e1ff2b4950a02bc26b9ab36c9c589a8156e324bd" Fix partial sigs and pattern bindings interaction It turns out that GHC 8.0 would accept entirely bogus programs like f2 :: (True, _) -> Char Just f2 = Just (\x->x) (which is now partial-sigs/should_fail/PatBind3) This also fixes Trac #9478, test `PatBind2`. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: partial- | sigs/should_compile/PatBind2 | partial- | sigs/should_compile/EqualityConstraint Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"e24b50c3a70a247a4695a80aceba0cf351eb1e9e/ghc" e24b50c3/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="e24b50c3a70a247a4695a80aceba0cf351eb1e9e" Use partial-sig constraints as givens In TcSimplify.simplifyInfer, use the context of a partial type signature as 'givens' when simplifying the inferred constraints of the group. This way we get maximum benefit from them. See Note [Add signature contexts as givens]. This (finally) fixes test EqualityConstraints in Trac #9478. And it's a nice tidy-up. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: partial- | sigs/should_compile/PatBind2 | partial- | sigs/should_compile/EqualityConstraint Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"1a43783edd3bda2b934aaedf2f68b4d0e0c5eb02/ghc" 1a43783e/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="1a43783edd3bda2b934aaedf2f68b4d0e0c5eb02" Record that EqualityConstraint now works Fixing Trac #9478 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9478: Partial type signatures -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: partial- | sigs/should_compile/PatBind2 | partial- | sigs/should_compile/EqualityConstraint Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D168 Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * status: new => closed * resolution: => fixed Comment: This last patch finally fixes the `EqualityConstraint` test. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9478#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC