Changes between Version 32 and Version 33 of Records/OverloadedRecordFields/Plan


Ignore:
Timestamp:
Aug 29, 2013 8:20:18 AM (8 months ago)
Author:
adamgundry
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Records/OverloadedRecordFields/Plan

    v32 v33  
    289289This makes higher-rank fields usable (though possibly requiring eta-expansion), and it allows lens integration. On the other hand, it is still an impediment to users wishing to write polymorphic code. 
    290290 
     291Oh, and there's a fifth option: 
     292 
     2935. Generate a polymorphic use of `field` as normal, but when defaulting a constraint `Has r "foo" t`, choose the instance for `T`. 
     294 
     295This gives the maximum amount of polymorphism and the right behaviour in the presence of the monomorphism restriction, but defaulting is evil and confusing... 
     296 
    291297 
    292298=== Record update: avoiding redundant annotations ===