
Jan-Willem Maessen
On Jun 6, 2008, at 8:12 AM, Wolfgang Jeltsch wrote:
Am Donnerstag, 5. Juni 2008 17:19 schrieb Johan Tibell:
[…]
2. It's the default. You have to add "qualified" to all your imports to make them qualified. In most language imports are qualified by default. I think the latter would have been a better choice but we have to live with the current design so bite the bullet and add those qualified keywords to your imports.
If you leave out “qualified”, you still get the qualified names imported. And if you use conflicting identifiers always qualified then there’s no problem. For example, you can use
import Data.Set as Set import Data.List as List
and then just say Set.null or List.null.
There's one caveat: Always choose descriptive names, even if you are assuming that you will usually use a qualified import. The following are wonderful names, even though they conflict with the prelude: null filter map lookup
import Prelude as P
The following are terrible names: T C
Not to mention that this usage is hideously confusing while looking at the haddock docs. While I don't mind Haskore having them, they should just be different names for a type that has a clear name. It also appears to generate an excessive amount of modules. -- (c) this sig last receiving data processing entity. Inspect headers for past copyright information. All rights reserved. Unauthorised copying, hiring, renting, public performance and/or broadcasting of this signature prohibited.