Changes between Version 7 and Version 8 of ExistingRecords


Ignore:
Timestamp:
Mar 1, 2006 2:10:14 AM (8 years ago)
Author:
john@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExistingRecords

    v7 v8  
    100100open x would be allowed at the top level, in a let binding, or in a where binding. 
    101101 
    102    
     102== abstraction == 
     103 
     104It is often useful to limit the ability of users to fill in or access parts of a data type arbitrarily to maintain invariants, instituting the following rule would let you enforce that to some degree: 
     105 
     106 * Positional notation for pattern matching and constructor creation for a constructor may not be used unless all of its field labels are in scope. 
     107 
     108This would insure that by not exporting a field label, it cannot be gotten around by using positional notation. 
     109 
     110this fix would also require the polymorphic setting ability mentioned above and would partially mitigate the need for ReadonlyConstructors