Changes between Version 30 and Version 31 of Frisby2013Q1


Ignore:
Timestamp:
Mar 1, 2013 3:01:28 PM (14 months ago)
Author:
nfrisby
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Frisby2013Q1

    v30 v31  
    957957TODO 
    958958 
     959== Make all dictionaries strict == 
     960 
     961  * we also considered not newtyping dictionaries, but it had little effect 
     962    * the only thing it prevents us from doing is "be strict in anything of kind Constraint" 
     963 
     964  * look inside used superclass dictionaries too 
     965 
     966  * abstract to <S,U> if we suspect that the dictionary is being reboxed 
     967    * be suspicious reboxing, eg, if 3/4 or more of the components are Used 
     968      * or maybe if they are UHead? 
     969    * the consequence of <S,U> is that ww will use CBV but not unbox it 
     970 
    959971== Other Tasks == 
    960972 
    961973  * Johan pointed out regressions; look into them --- there might be some easy wins 
    962974 
    963   * try making all dictionaries strict (simultaneously drop the newtype-single-method trick) 
    964  
    965975  * late CSE; make lvlMFE very aggressive 
    966976 
    967977  * consider adding a void parameter to LNEs earlyish in the pipeline so they do not appear to share work 
     978 
     979  * use a specialized demand transformer for eliminators (record selectors, class selectors) 
     980    * it would be dual to the existing specialized transformer for data cons 
     981    * cf dmdTransformDataConSig, MkId.dictSelRule 
     982    * will need to stash which field is selected in the IdDetails (RecSelId and ClassOpId) 
     983      * add a corresponding type synonym for Int alongside the ConTag synonym 
     984    * it's a property that could potentially be recognized of user functions... 
     985    * I spotted a case (interesting-programs/strict-dicts-something/SuperClasses.hs) where the worker has, eg, LU LU LU demand, but it does *not* use some of those arguments; this  particular case would not happen with the special transformer