
On Wed, Oct 20, 2010 at 11:42 PM, Ivan Lazar Miljenovic
On 21 October 2010 07:19, Bas van Dijk
wrote: Hello,
I would like to make three proposals, in order of importance IMHO:
1. Export String from Data.String. Most modules in base and on Hackage of the form: Data.<type> also export <type>. I think it's surprising and confusing that Data.String doesn't conform to this pattern.
Do you mean have the Prelude re-export String from Data.String or for Data.String to re-export String from the Prelude?
From the user point of view it doesn't really matter where a symbol is actually defined.
This is how it currently works: module Prelude (...String...) where import GHC.Base (...String...) module Data.Char (...String...) where import GHC.Base (...String...) Proposal 1 is just: module Data.String (...String...) where import GHC.Base (String) Proposal 2 is just unexporting it from Data.Char Proposal 3 is just: module Data.String (...String...,lines, words, unlines, unwords) where import GHC.Base (String) import Data.List (lines, words, unlines, unwords) Bas