
also, while i like dynamic records for some types of tasks, i think that the "spirit" of Haskell in whole is to give explicit definitions of all types used and in this respect this type extension in not on "main way".
record extension is the basis for record concatenation, which is the basis for composing programs that use records. for instance, if you have two attribute grammars that compute two sets of attributes and you want to compose them into a single grammar, you run into troubles. (dual arguments for extensible variants, be it for exception types, or for extensible grammars that cover haskell+extensions without having to specify and maintain two separate grammars). and the concept of partial type specifications is not uncommon in Haskell (polymorphism, type classes). claus