#Anonymous records. A solution to the problems of record-system.
Please, beware that the proposal that follows has been implemented as a library.
The current record system is notorious for three major flaws:
-
It does not solve the namespacing problem. I.e., you cannot have two records sharing field names in a single module. E.g., the following won't compile:
data A = A { field :: String }