
On Sat, Mar 24, 2007 at 12:52:50PM -0700, Bryan O'Sullivan wrote:
It turns out there's a hitch with this notion. The HostName and ServiceName types are defined in Network.BSD, but they're desirable to use in the type signature of getAddrInfo.
While it's possible to move these types into a hidden module such that they're re-exported by Network.BSD and Network.Socket, this has the nasty consequence of breaking pre-existing network code due to Network.Socket now exporting these types, causing the Haskell compiler to complain about the new ambiguities introduced.
You shouldn't get ambiguity problems if you're importing the same thing from multiple modules, only if you import different things with the same name. I might have misunderstood what you mean, though. Thanks Ian