Opened 3 years ago

Closed 15 months ago

#13109 closed bug (duplicate)

CUSK improvements

Reported by: simonpj Owned by: goldfire
Priority: normal Milestone:
Component: Compiler Version: 8.0.1
Keywords: TypeInType, CUSKs Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


Inspired by looking at RnTypes.bindLHsTyVarBndr, and driven by #11592, Richard and I decided to make some improvements to the treatment of CUSKs.

Here's a scrappy Skype dump as a memory-jogger; it is a memory-jogger, not a full description. Richard has notes too

Richard Eisenberg: data F (x :: B a)
                   data G (x :: C b)
  You have written a complete user-suppled kind signature,
    but the following variable is undetermined: a0 :: A
    Perhaps add a kind signature.
    Inferred kinds of user-written variables:
      b :: B a0
      x :: C b

SPJ claim: CUSKs should be handled INDIVIDUALLY and in isoloation, just like term-level type signatures
SPJ claim: get rid of the "after the ::" side condition for data types (last bullet of HsDecls Note about CUSKs
All of this should mean (SPJ claims) no need for dep_vars returns by bindHsQTyVar, bindLHsTyVarBnrds etc
ToDo: clarify comments etc in bindLHStyVarBndr

Related to D2914

Change History (4)

comment:1 Changed 3 years ago by simonpj

Keywords: TypeInType added
Owner: set to goldfire

comment:2 Changed 16 months ago by RyanGlScott

Keywords: CUSKs added

comment:3 Changed 15 months ago by RyanGlScott

comment:4 Changed 15 months ago by goldfire

Resolution: duplicate
Status: newclosed


Note: See TracTickets for help on using tickets.