Without a standard way to get at unsafePerformIO, such code would still rely on non-standard features, which goers against the aim of standardising the rest of the FFI.
The Hugs-GHC standard libs have them exported from IOExts.
Of course, the Hugs-GHC standard isn't an official Haskell library committee approved standard but, since it's something like 4 years old, I think it's a better candidate for approval than the ffi library which hasn't really stabilised yet, hasn't been whacked on by a large number of users, is much younger, etc.
Sadly, due to lack of support on the Hugs side, the Hugs/GHC extension libraries have drifted apart. I would have liked Hugs to ship with a cut-down hslibs at some point (and indeed there's some support in the hslibs build system for Hugs), but there was no-one available at the Hugs end to do the work and make it happen. Longer term, the effort currently underway on libraries@haskell.org should eventually provide a unified story for "extension" libraries. Cheers, Simon