
#11432: Cannot export operator newtype -------------------------------------+------------------------------------- Reporter: phadej | Owner: skvadrik Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 8.0.1-rc1 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 skvadrik): I think `-.->` is lexically `@varsym` (and `VARSYM` parser) and `(-.->)` is parsed as `'(' VARSYM ')'`: {{{ ... qcname -> qvar -> '(' varsym ')' -> '(' varsym_no_minus ')' -> '(' VARSYM ')' }}} I don't know yet why it did work before commit ffc21506894c7887d3620423aaf86bc6113a1071, but I suspect the answer is hidden not in grammar, but in the way data constructors are (were?) "fixed" after parsing to become type constructors. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11432#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler