Changes between Version 10 and Version 11 of SafeHaskell


Ignore:
Timestamp:
Nov 10, 2010 10:19:29 AM (5 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SafeHaskell

    v10 v11  
    4343 * Certain exposed constructors of otherwise mostly safe data types allow unsafe actions.  For instance, the {{{PS}}} constructor of {{{Data.ByteString.ByteString}}} contains a pointer, offset, and length.  Code that can see the pointer value can act in a non-deterministic way by depending on the address rather than value of a {{{ByteString}}}.  Worse, code that can use {{{PS}}} to construct {{{ByteString}}}s can include bad lengths that will lead to stray pointer references. 
    4444 
    45  * The {{{FFI}}} extension is inherently unsafe. 
     45 * The {{{ForeignFunctionInterface}}} extension is mostly safe, but `foreign import` declarations that import a function with a non-`IO` type must be disallowed. 
    4646 
    4747 * {{{TemplateHaskell}}} is also particularly dangerous, as it can cause side effects even at compilation time.