I have to say that by now I’ve no idea why “records” is in the title of this topic:
- Mutability is not specific to records: an
Int
orChar
variable is just as immutable. - Deep nesting is not specific to records:
Either (Maybe String) (Maybe (Either Int Char))
- ‘Updating’ deeply inside that nested structure is not different to updating inside nested records. (Not that ‘updating’ in the sense in procedural languages reassignment is really a helpful way to think about it. It’s returning a entirely new value for the whole structure.)
- Low-level programming is not specific to records:
Int
orChar
again. - C structs have what to do with your proposal?
If you’re continuing to claim “this doesn’t need any complex proposals” (for some value of “this”), perhaps you could re-state the absolute minimum of your proposal without mention of these collateral concerns?
This makes no sense. Type information is erased when generating object code. Record content must be present at run-time. Perhaps “record data” there means not “data” but “structure”? But again what’s “storing” got to do with it?