Hugs and GHC provide a common set of libraries to aid portability. This document specifies the interfaces to these libraries and documents known differences. It is the hope of the GHC team that these libraries in the long run become part of every Haskell system.
To make both writing new libraries and reading programs using them easier, a few conventions the set of interfaces specified in this document try to adhere to are listed in the following sections. Note that because of compatibility issues and the evolving nature of this library collection, there are still a few exceptions, but hopefully they vanish in the future.
These conventions are not carved into stone for eternity, they are just a collection of thoughts people involved in the development of these libraries had at some point in time. They were formed after quite some discussions and are heavily based on an initial suggestion of Marcin Kowalczyk <email@example.com>. Feel free to discuss them, the Haskell mailing list <firstname.lastname@example.org> is probably the right place for this.
If you're using hslibs with GHC[i], then you need to add -package p to the command line for each package from which you're using a module. See Section 4.10 in The Glasgow Haskell Compiler User's Guide, Version 5.02 for an explanation of packages.