Changes between Version 94 and Version 95 of TypeFunctionsStatus

Oct 9, 2006 12:53:09 AM (10 years ago)



  • TypeFunctionsStatus

    v94 v95  
    1111   3. When compiling a new module `K`, union the sets from direct imports, plus `K` itself if it has family instances.  If that union is a subset of any of the incoming ones, nothing to do!  Otherwise, further checking needed.
    1212   4. Further checking can be brute-force or intelligently to minimise the number of checks.  ''Brute-force:'' Take the `FamInst`s of all family-instance modules that are in the complement of the intersection of the sets of family-instance modules contained in each imported module and add `K` if it has imports.  Check this whole set using the check from Point (1).  ''Intelligently:'' Compute the set of all module pairs that have already been checked for overlap (as they both occur in the family-instance module list of any import) and subtract that from the set of all pairs of visible family-instance modules.  These are the critical module pairs.  Check any pair of instances coming from two different modules in a critical module pair.
     13 * There really is no reason anymore to disallow family instances where all arguments are type variables.  Such instances are rarely useful, but may be when creating stub files or so; so why disallow them.  Check that they are working.
    1415== Parsing and Renaming ==