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

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Wed Oct 20 23:08:23 EDT 2010


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

So how would this affect other compilers/interpreters/implementations?

Note: I'm tentatively agreeing with at least the first two proposals.


-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com


More information about the Libraries mailing list