
#11224: Program doesn't preserve semantics after pattern synonym inlining. -------------------------------------+------------------------------------- Reporter: anton.dubovik | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.10.2 Resolution: | Keywords: | PatternSynonyms Operating System: Windows | Architecture: x86_64 Type of failure: Incorrect result | (amd64) at runtime | Test Case: Blocked By: | Blocking: Related Tickets: #11225 | Differential Rev(s): Phab:D1632 Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): If I understand correctly, Simon's comment:24 proposes precisely this, copied from comment:8: * Allow explicit quantification in two places, according to this schema: {{{ pattern type Syn :: forall <<univs>>. <<req>> => forall <<exs>>. <<prov>> => <<args>> -> <<result>> }}} * In the absence of explicit quantification, universals are inferred to be the variables mentioned in either the result or the required context. Existentials are the remaining variables. * It is against the rules for existentials to shadow universals. Simon, do you agree that we're saying the same thing? If so, then let's do it! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11224#comment:25 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler