[GHC] #10130: Rigid/Skolum produced by unassociated values.

GHC ghc-devs at haskell.org
Mon Mar 2 21:49:21 UTC 2015


#10130: Rigid/Skolum produced by unassociated values.
-------------------------------------+-------------------------------------
        Reporter:  dukerutledge      |                   Owner:
            Type:  bug               |                  Status:  closed
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.8.4
      Resolution:  invalid           |                Keywords:  rigid,
Operating System:  Linux             |  skolum, existentialquantification,
 Type of failure:  GHC rejects       |  gadts, nomonolocalbinds
  valid program                      |            Architecture:  x86_64
      Blocked By:                    |  (amd64)
 Related Tickets:                    |               Test Case:
                                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by goldfire):

 Ah, yes. I advised this being posted as a bug report, but I somehow forgot
 that `d` and `c` would be monomorphic here.

 To the original poster, who may not be aware of the intricacies of
 !OutsideIn:

 The extensions `GADTs` and `TypeFamilies` both enable `MonoLocalBinds`,
 which makes local definitions that refer to a variable in an outer scope
 (like `n`) be monomorphic. Thus, `d` and `c` are monomorphic, but there is
 no monomorphic type to assign to them. I agree with Simon that GHC's
 behavior here is correct.

 You could, of course, specify `NoMonoLocalBinds`, but this a bad idea: the
 `MonoLocalBinds` story is necessary to keep sane type inference in the
 presence of the hypothetical equality conditions that can be introduced by
 type families and GADTs.

 The good news is that all can be fixed by using type signatures on local
 definitions.

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


More information about the ghc-tickets mailing list