Changes between Version 7 and Version 8 of ExistingRecords


Ignore:
Timestamp:
Mar 1, 2006 2:10:14 AM (9 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