[Haskell-cafe] Re: Open unqualified imports

Martijn van Steenbergen martijn at van.steenbergen.nl
Fri Jan 16 10:37:23 EST 2009


Eyal Lotem wrote:
>     B) Code that has open unqualified imports may break when new symbols
>     are added to the libraries its importing.  This means that libraries
>     cannot even be considered backwards compatible if they retain
>     semantics, but add new exported names.

This is not as uncommon as might sound and has happened a few times to 
me now, one example being hackage package yogurt failing to build on 6.10:

     Ambiguous occurrence `empty'
     It could refer to either `Data.IntMap.empty', imported from 
Data.IntMap at Network/Yogurt/Mud.hs:43:28-32
                           or `Text.Regex.Posix.empty', imported from 
Text.Regex.Posix at Network/Yogurt/Mud.hs:45:0-22

It's taught me to use qualified imports a lot more often.

Martijn.


More information about the Haskell-Cafe mailing list