... | ... | @@ -70,7 +70,7 @@ So one solution for record field names is to specify more precisely which one yo |
|
|
|
|
|
- Optionally use the type name. So you could say `Record.a` or `RecordClash.a` rather than `a`, to specify which field selector you mean. Apart from verbosity the difficulty here is that it's hard to know whether you are writing `<module-name>.f` or `<type-name>.f`. That is, is `Record` the name of a type or of a module? (Currently it legally could be both.)
|
|
|
|
|
|
- Use the module name space mechanism; after all that's what it's for. But putting each record definition in its own module is a bit heavyweight. So maybe we need local modules (just for name space control) and local import declarations. Details are unclear.
|
|
|
- Use the module name space mechanism; after all that's what it's for. But putting each record definition in its own module is a bit heavyweight. So maybe we need local modules (just for name space control) and local import declarations. Details are unclear. (This was proposed in 2008 in [ this discussion](http://www.haskell.org/pipermail/haskell-cafe/2008-August/046494.html) on the Haskell cafe mailing list and in [\#2551](https://gitlab.haskell.org//ghc/ghc/issues/2551). - Yitz)
|
|
|
|
|
|
**Anyone who likes these designs, please fill out a detailed design, either here or on another page**.
|
|
|
|
... | ... | |