Changes between Version 59 and Version 60 of TypeFunctionsStatus


Ignore:
Timestamp:
Aug 22, 2006 11:39:37 PM (8 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TypeFunctionsStatus

    v59 v60  
    44 
    55'''Current:'''  
     6 * Generate `CoExprFn` in case expressions scrutinising a data instance. 
    67 * In the exiting test for datacon validity, `checlValidDataCon`, we need to add a new test that checks for a data instance datacon that its tycon has the `FamilyTyCon` flag set and that it refers to the correct family tycon. 
    78 * Handle `newtype instance`. 
     
    3233  
    3334Todo (high-level): 
    34  1. Type checking in the presence of associated data types. 
     35 1. Type checking of type functions (and hence, associated type synonyms); forget about `iso` for the moment. 
    3536 2. Type checking in the presence of associated synonym defaults.  (Default AT synonyms are only allowed for ATs defined in the same class.) 
    36  3. Type checking of type functions (and hence, associated type synonyms); forget about `iso` for the moment. 
    37  4. Type check functional dependencies as type functions. 
     37 3. Type check functional dependencies as type functions. 
    3838 
    3939Done:  
     
    5050 1. Desugar indexed data types. 
    5151 2. Extend interface files. 
    52   * How do we exactly want to represent ATs in interface files? 
     52  * How do we exactly want to represent type equations in interface files? 
    5353   * SPJ pointed out that instances are maintained in `InstEnv.InstEnv` with different values for the home packages and others. The definitions of ATs may have to be maintained in a similar way, as they are also incrementally collected during compiling a program. 
    5454   * `IfaceInst` contains the instance declaration information for interfaces. 
    5555  * Export and import lists: The name lists that may appear at class imports and exports can now also contain type names, which is tricky as data type names can carry a list of data constructors. 
    56   * At the moment, we add as the parent name of the data constructors of associated data types defined in instances, the new name for the data type constructor, which is ''different'' from that of the data type constructor in the class (also their source representation is the same). We may need to fix that during renaming. (We can't easily fix it in `getLocalDeclBinders`, where the names of the data constructors are made, as we don't have the means to get at the right class at that point.) 
    5756 3. Desugar type functions and equality constraints. 
    5857 
     
    6362 * Extension of `DataCon.DataCon` with instance types for constructors belonging to data instances. 
    6463 * Extension of `TyCon.TyCon` such that the parent of a data instance is paired with a coercion identifying family instance and representation type. 
     64 * Datacon wrapper uses data instance coercion if applicable. 
    6565 
    6666