darcs patch: Remove unsafeCoerce-importing kludgery in favor of Uns...

Simon Marlow simonmarhaskell at gmail.com
Tue Jun 5 05:49:00 EDT 2007

Ashley Yakeley wrote:
> Can we move the other unsafe stuff into the Unsafe.* hierarchy?

It's not clear to me that Unsafe.System.IO would be better than 
System.IO.Unsafe.  What is the primary purpose of unsafePerformIO - to do IO, or 
to be unsafe?

I see the point - to clearly separate all the unsafe stuff - but there are other 
categories of things that we might also want to separate (e.g. Haskell 98 vs. 
non-Haskell 98, portable vs. non-portable, deprecated vs. current...).  We made 
the decision a long time ago that the hierarchy should categorise by 
functionality rather than any other property of modules.  There are exceptions 
(System.Posix), but it's still a good rule of thumb.


More information about the Libraries mailing list