Proposal: Export String from Data.String (and two related proposals)

Bas van Dijk v.dijk.bas at
Wed Oct 20 18:35:23 EDT 2010

On Wed, Oct 20, 2010 at 11:42 PM, Ivan Lazar Miljenovic
<ivan.miljenovic at> wrote:
> On 21 October 2010 07:19, Bas van Dijk <v.dijk.bas at> 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)


More information about the Libraries mailing list