Skip to content
  • chak@cse.unsw.edu.au.'s avatar
    Fix processing of imports involving ATs with the new name parent code · 4f55ec2c
    chak@cse.unsw.edu.au. authored
    Associated types in import lists require special care and the new name
    parent code broke that.  What's the problem?  in the presence of ATs
    the name parent relation can have a depth of two (not just one as in H98).
    Here is an example:
    
      class GMapKey a where
        data GMap a :: * -> *
      instance GMapKey Int where
        data GMap Int v = GMapInt ...
    
    The data constructor GMapInt's parent is GMap whose parent in turn is the 
    class GMapKey; ie, GMapKey is GMapInt's grand parent.  In H98, data types 
    have no parents (which is in some places in the code represented by making 
    them their own parent).
    
    I fixed this by extending the information in filterImport's occ_env and
    taking the case of associated types explicitly in consideration when 
    processing the various forms of IE items.
    4f55ec2c