[GHC] #11982: Typechecking fails for parallel monad comprehensions with polymorphic let (GHC 7.10.3 through 8.6.3)

GHC ghc-devs at haskell.org
Thu Jan 31 13:39:14 UTC 2019


#11982: Typechecking fails for parallel monad comprehensions with polymorphic let
(GHC 7.10.3 through 8.6.3)
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:  josefs
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.3
      Resolution:                    |             Keywords:  ApplicativeDo
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Yes to two tickets.  So we have

 * '''Parallel monad comprehensions''': no difficulty in principle, but
 `tcSyntaxOp` needs to do impredicative instantiation.   See comment:14

 * '''ApplicativeDo'''.  New ticket needed.  I strongly suggest that Step 1
 is to take the presentation in the paper and extend it to handle `let`
 statements.  Then it may be clearer what to do.  Probably nothing to do
 with impredicativity.

   Note also Simon's comment that "I also have a suspicion that we're not
 treating the last statement of the do in the way that the paper suggests -
 adding an extra return statement if the last statement is not a return."
 It would be good to clean this up too.

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


More information about the ghc-tickets mailing list