[GHC] #15138: Unable to instantiate data members of kind Nat in backpack signatures.

GHC ghc-devs at haskell.org
Thu Aug 2 03:44:25 UTC 2018


#15138: Unable to instantiate data members of kind Nat in backpack signatures.
-------------------------------------+-------------------------------------
        Reporter:  ppk               |                Owner:  (none)
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:  8.8.1
       Component:  Compiler          |              Version:  8.4.1
      Resolution:                    |             Keywords:  backpack
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4951
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by ppk):

 Replying to [comment:4 bgamari]:
 > Unfortunately it doesn't look like this will quite make it. Sorry ppk!

 That is okey. Thanks for all the effort you and the ghc team makes. But
 here are some of the things about the failing test cases. I am documenting
 it
 here so that it can be useful for diagnosing them if this patch has to
 eventually land.

 1. The failing tests are all in the backpack tests should_fail section
    namely bkpfail23,25,26,27 and 46

 2. Of these all except `bkpfail46` is still giving compilation error which
    but the stderr are not matching. As a result the most interesting test
 is `bkpfail46`
    as that is a case that was rejected before the patch which is getting
 accepted now.
    So we should really understand bkpfail46 to make sense whether it is

    i.  Making backpack more general (a good thing). This just means that
 the
        test case is no more relevant and could just be removed or ignored.
    ii. Or this could be a break in typesafety and hence bad.

    I do not think I understand the issues there fully to make a comment on
 it one way
    or the other.

 3. The next critical test is the bkpfail25 as it gives an error message of
 the form
 {{{
 bkpfail25.bkp:7:18: error:
     _ The type synonym _T_ should have 1 argument, but has been given none
     _ In the instance declaration for _Functor T_
 }}}
    There is a comment `bkpfail25.bkp` that precisely says that such an
 error message
    is "too late". So this too looks like a test case that needs some
 analysis.

 4. The other tests that fails, I do not have much to say.


 I wanted to say that I also have a dependent phab which builds on this to
 fix #15379 where I did document this. These tests were failing on my
 machine and I was thinking that it could be some
 change that I introduced in that patch which made the difference. Now it
 looks like this is a problem
 even here.

 In summary, this looks like a test that requires some serious thought from
 someone who understands
 the backpack system much more than me.

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


More information about the ghc-tickets mailing list