Skip to content
  • chak@cse.unsw.edu.au.'s avatar
    Type families: fixes in flattening & finalisation · 53631ec6
    chak@cse.unsw.edu.au. authored
    * Finalisation didn't do the right thing for equalities x ~ y, where
      x was instantiated, but not zonked and y flexible (need to do y := x)
    * During flattening we weren't careful enough when turning wanteds 
      intermediates into locals
    
    Both bugs showed up in a small example of SPJ:
    
      linear :: HasTrie (Basis v) => (Basis v, v)
      linear =  basisValue
    
      class HasTrie a where
    
      type family Basis u :: *
    
      basisValue :: (Basis v,v)
      basisValue = error "urk"
    53631ec6