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