Export String from Data.String
Proposals
This ticket makes three proposals, in order of importance IMHO:
- Export
String
fromData.String
. Most modules inbase
and on Hackage of the form:Data.<type>
also export<type>
. I think it's surprising and confusing thatData.String
doesn't conform to this pattern. - Unexport
String
fromData.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
String
operations:lines
,words
,unlines
andunwords
fromData.String
. I feel even less strongly about this one. However these are operations onString
s so it makes sense to export them fromData.String
. As a counter argument you could say these operations either receive or produce a list ofString
s 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 |