[GHC] #11982: Typechecking fails for parallel monad comprehensions with polymorphic let

GHC ghc-devs at haskell.org
Tue Apr 26 12:14:30 UTC 2016


#11982: Typechecking fails for parallel monad comprehensions with polymorphic let
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.3
      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 goldfire):

 That error looks correct to me, for a rather narrow definition of correct.
 Both parallel list comprehension and `ApplicativeDo` end up desugaring to
 manipulations on tuples, right? The tuples hold the bound variables. So
 your example requires building a tuple with a polymorphic element, hence
 impredicativity. I'm unaware of a specification of these features beyond
 implementation in terms of tuples, which is why failing here may be the
 correct behavior.

 That said, I'm sure you want this to be accepted. Perhaps it wouldn't be
 too hard to enable impredicativity in just the right spot...

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11982#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list