#994: add 'unsafeCoerce' to a standard location in the hierarchical libraries
-------------------------------------------+--------------------------------
 Reporter:  [EMAIL PROTECTED]  |          Owner:             
     Type:  proposal                       |         Status:  new        
 Priority:  normal                         |      Milestone:             
Component:  libraries/base                 |        Version:             
 Severity:  normal                         |     Resolution:             
 Keywords:                                 |     Difficulty:  Easy (1 hr)
 Testcase:                                 |   Architecture:  Unknown    
       Os:  Unknown                        |  
-------------------------------------------+--------------------------------
Comment (by simonmar):

 I would rather that the unsafe modules were placed in the hierarchy at a
 place determined by their functionality, eg. following the example of
 `System.IO.Unsafe`.  The hierarchy naming is supposed to primarily reflect
 ''functionality'', and I argue that the notion of "unsafety" should be
 secondary to what the function actually does in terms of naming the
 module.

 To summarise:  I would much rather see `Data.Array.Unsafe` than
 `Unsafe.Data.Array`.  I admit I don't have a good idea for where
 `unsafeCoerce` should go, though - it doesn't fall into any existing
 categories.

 On the existence of `unsafeCoerce` itself, I'm happy to see it in a
 standard place, but we should be very careful not to guarantee
 ''anything'' about what it does.  For example, GHC has some strange
 restrictions on what you can ''unsafeCoerce'', and it's possible to crash
 the compiler by using it.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/994>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to