* The introduction of the DuplicateRecordFields language extension, allowing
multiple record types to declare fields of the same name
Holy hell. Is this the end of the Haskell record field names problem?One of Haskell's great miseries has been that, because record field accessors are declared globally, you couldn't define records with fields of the same names:
data Person = Person { name :: String, age :: Int }
data Object = Object { name :: String, id :: UUID } -- error! `name` taken
--Edit: Info on the extension at: https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedReco.... Looks like it creates ambiguity in some cases.