[commit: ghc] master: Fix the type signatures of new copy primops. (bb53268)

git at git.haskell.org git at git.haskell.org
Sun Sep 15 22:16:38 CEST 2013


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/bb532682aa47c30dfd49039c5ab282352d38dac0/ghc

>---------------------------------------------------------------

commit bb532682aa47c30dfd49039c5ab282352d38dac0
Author: Austin Seipp <austin at well-typed.com>
Date:   Sun Sep 15 15:15:17 2013 -0500

    Fix the type signatures of new copy primops.
    
    They claimed to work over 'ST RealWorld', when instead they should be
    parameterized in the state type. This fixes the cgrun070.
    
    Signed-off-by: Austin Seipp <austin at well-typed.com>


>---------------------------------------------------------------

bb532682aa47c30dfd49039c5ab282352d38dac0
 compiler/prelude/primops.txt.pp |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp
index 71dea22..f23bfca 100644
--- a/compiler/prelude/primops.txt.pp
+++ b/compiler/prelude/primops.txt.pp
@@ -1111,7 +1111,7 @@ primop  CopyMutableByteArrayOp "copyMutableByteArray#" GenPrimOp
   can_fail = True
 
 primop  CopyByteArrayToAddrOp "copyByteArrayToAddr#" GenPrimOp
-  ByteArray# -> Int# -> Addr# -> Int# -> State# RealWorld -> State# RealWorld
+  ByteArray# -> Int# -> Addr# -> Int# -> State# s -> State# s
   {Copy a range of the ByteArray# to the memory range starting at the Addr#.
    The ByteArray# and the memory region at Addr# must fully contain the
    specified ranges, but this is not checked. The Addr# must not point into the
@@ -1123,7 +1123,7 @@ primop  CopyByteArrayToAddrOp "copyByteArrayToAddr#" GenPrimOp
   can_fail = True
 
 primop  CopyMutableByteArrayToAddrOp "copyMutableByteArrayToAddr#" GenPrimOp
-  MutableByteArray# RealWorld -> Int# -> Addr# -> Int# -> State# RealWorld -> State# RealWorld
+  MutableByteArray# s -> Int# -> Addr# -> Int# -> State# s -> State# s
   {Copy a range of the MutableByteArray# to the memory range starting at the
    Addr#. The MutableByteArray# and the memory region at Addr# must fully
    contain the specified ranges, but this is not checked. The Addr# must not
@@ -1135,7 +1135,7 @@ primop  CopyMutableByteArrayToAddrOp "copyMutableByteArrayToAddr#" GenPrimOp
   can_fail = True
 
 primop  CopyAddrToByteArrayOp "copyAddrToByteArray#" GenPrimOp
-  Addr# -> MutableByteArray# s -> Int# -> Int# -> State# RealWorld -> State# RealWorld
+  Addr# -> MutableByteArray# s -> Int# -> Int# -> State# s -> State# s
   {Copy a memory range starting at the Addr# to the specified range in the
    MutableByteArray#. The memory region at Addr# and the ByteArray# must fully
    contain the specified ranges, but this is not checked. The Addr# must not




More information about the ghc-commits mailing list