Export String from Data.String
Proposals
This ticket makes three proposals, in order of importance IMHO:
- Export
StringfromData.String. Most modules inbaseand on Hackage of the form:Data.<type>also export<type>. I think it's surprising and confusing thatData.Stringdoesn't conform to this pattern. - Unexport
StringfromData.Char. I feel less strongly about this one, but in general I think it is good that a symbol is exported from as few modules as possible. - Export the
Stringoperations:lines,words,unlinesandunwordsfromData.String. I feel even less strongly about this one. However these are operations onStrings so it makes sense to export them fromData.String. As a counter argument you could say these operations either receive or produce a list ofStrings so they only belong inData.List.
If we accept 3 then in the spirit of export a symbol from as few modules as possible, you may expect a fourth proposal: Unexport the String operations: lines, words, unlines and unwords from Data.List. However I think this will break lots of programs. I have no problem also discussing this one though.
Attached is a patch bundle with three patches that implement the three proposals. We may end up deciding to apply only a few of them.
Discussion deadline
3 weeks from now: Wednesday 10 November.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.12.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | libraries/base |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |