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.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to