Changes between Version 7 and Version 8 of NewPrimopsInGHC7.8


Ignore:
Timestamp:
Aug 23, 2013 9:55:10 AM (8 months ago)
Author:
jstolarek
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewPrimopsInGHC7.8

    v7 v8  
    1 = Primop changes in GHC 7.8 
    2  
    3 In GHC 7.8 we modified primops that returned a `Bool`. This includes comparisons between unboxed values (like `==#` or `ltFloat#`) as well as `sameMutableArray#`, `sameMutableByteArray#`, `sameMutableArrayArray#`, `sameMutVar#`, `sameMVar#` and `sameTVar#`. These changes are not backwards compatible and if you use any of these primops then you need to adjust your code. Adjustments are simple and should take no longer than a couple of minutes. 
    4  
    5   * If your code uses primops for comparing unboxed `Char#`, `Int#`, `Word#`, `Float#`, `Double#` or `Addr#` you need to import `GHC.PrimWrappers` module into your code. Note that `GHC.PrimWrappers` is re-exported by `GHC.Exts`, so if you already import `GHC.Exts` then you don't need to change anything. 
    6  
    7   * If your code uses `sameMutableArray#`, `sameMutableByteArray#`, `sameMutableArrayArray#`, `sameMutVar#`, `sameMVar#` or `sameTVar#`, you need to import `GHC.PrimWrappers` and remove `#` from the names of these functions. In other words, functions that you should be using now are `sameMutableArray`, `sameMutableByteArray`, `sameMutableArrayArray`, `sameMutVar`, `sameMVar` and `sameTVar`, respectively. 
    8  
    9 That's all you need to do - your code should now be working as previously.  
    10  
    11 If your interested in technical details behind this change, see [http://ghc.haskell.org/trac/ghc/wiki/PrimBool this page].