Changes between Version 3 and Version 4 of SafeHaskell/BasePackage


Ignore:
Timestamp:
May 28, 2011 12:04:02 AM (4 years ago)
Author:
dterei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SafeHaskell/BasePackage

    v3 v4  
    1414== General Decisions ==
    1515
    16  * Keep in mind that anything in the IO monad is basically 'safe'. So Ptr, ForeignPtr are very dangerous but as long as we only allows use of these in the IO monad its not really in the domain of Safe Haskell to guarantee any safety.
    17  * I've taken the approach for the low level primitives (Int#, Addr#, ByteArray#) of being fairly heavy handed about keeping them unsafe. It gets tricky and hard to keep track of what operations are available at these low levels at time and if GHC will catch exceptions generated using them (i.e div by zero...).
     16 * Keep in mind that anything in the IO monad is basically 'safe'. So Ptr, !ForeignPtr are very dangerous but as long as we only allows use of these in the IO monad its not really in the domain of Safe Haskell to guarantee any safety.
     17 * I've taken the approach for the low level primitives (Int#, Addr#, !ByteArray#) of being fairly heavy handed about keeping them unsafe. It gets tricky and hard to keep track of what operations are available at these low levels at time and if GHC will catch exceptions generated using them (i.e div by zero...).
    1818
    1919== Base Package ==
     
    159159(Foreign.Ptr         - as above)
    160160
    161 '''GHC.IO.Encoding.CodePage.Table''': Exports raw '''Addr#''' arrays. Also pretty specific code so doesn't seem that useful outside of the base package.
     161'''GHC.IO.Encoding.!CodePage.Table''': Exports raw '''Addr#''' arrays. Also pretty specific code so doesn't seem that useful outside of the base package.
    162162
    163163'''GHC.IOBase:'''