
On 21 October 2010 09:35, Bas van Dijk
On Wed, Oct 20, 2010 at 11:42 PM, Ivan Lazar Miljenovic
wrote: 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)
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@gmail.com IvanMiljenovic.wordpress.com