diff options
author | Johan Tibell <johan.tibell@gmail.com> | 2014-03-13 18:10:41 +0100 |
---|---|---|
committer | Johan Tibell <johan.tibell@gmail.com> | 2014-03-13 18:10:41 +0100 |
commit | ed2a8f07a7b77f72682fc57b54908f30eb4b7c33 (patch) | |
tree | 0eff0f4505139ea25cf18b75ca4abd2f9652d3b5 /compiler | |
parent | 065c35a9d6d48060c8fac8d755833349ce58b35b (diff) | |
download | haskell-ed2a8f07a7b77f72682fc57b54908f30eb4b7c33.tar.gz |
Improve copy/clone array primop docs
Clarify the order of the arguments. Also, remove any use of # in the
comments, which would make the rest of that comment line disappear in
the docs, due to being treated as a comment by the preprocessor.
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/prelude/primops.txt.pp | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index d2978dc730..63aef0fbb6 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -762,9 +762,13 @@ primop UnsafeThawArrayOp "unsafeThawArray#" GenPrimOp primop CopyArrayOp "copyArray#" GenPrimOp Array# a -> Int# -> MutableArray# s a -> Int# -> Int# -> State# s -> State# s - {Copy a range of the Array# to the specified region in the MutableArray#. - Both arrays must fully contain the specified ranges, but this is not checked. - The two arrays must not be the same array in different states, but this is not checked either.} + {Given a source array, an offset into the source array, a + destination array, an offset into the destination array, and a + number of elements to copy, copy the elements from the source array + to the destination array. Both arrays must fully contain the + specified ranges, but this is not checked. The two arrays must not + be the same array in different states, but this is not checked + either.} with has_side_effects = True can_fail = True @@ -772,8 +776,12 @@ primop CopyArrayOp "copyArray#" GenPrimOp primop CopyMutableArrayOp "copyMutableArray#" GenPrimOp MutableArray# s a -> Int# -> MutableArray# s a -> Int# -> Int# -> State# s -> State# s - {Copy a range of the first MutableArray# to the specified region in the second MutableArray#. - Both arrays must fully contain the specified ranges, but this is not checked.} + {Given a source array, an offset into the source array, a + destination array, an offset into the destination array, and a + number of elements to copy, copy the elements from the source array + to the destination array. The source and destination arrays can + refer to the same array. Both arrays must fully contain the + specified ranges, but this is not checked.} with has_side_effects = True can_fail = True @@ -781,32 +789,40 @@ primop CopyMutableArrayOp "copyMutableArray#" GenPrimOp primop CloneArrayOp "cloneArray#" GenPrimOp Array# a -> Int# -> Int# -> Array# a - {Return a newly allocated Array# with the specified subrange of the provided Array#. - The provided Array# should contain the full subrange specified by the two Int#s, but this is not checked.} + {Given a source array, an offset into the source array, and a number + of elements to copy, create a new array with the elements from the + source array. The provided array must fully contain the specified + range, but this is not checked.} with has_side_effects = True code_size = { primOpCodeSizeForeignCall + 4 } primop CloneMutableArrayOp "cloneMutableArray#" GenPrimOp MutableArray# s a -> Int# -> Int# -> State# s -> (# State# s, MutableArray# s a #) - {Return a newly allocated Array# with the specified subrange of the provided Array#. - The provided MutableArray# should contain the full subrange specified by the two Int#s, but this is not checked.} + {Given a source array, an offset into the source array, and a number + of elements to copy, create a new array with the elements from the + source array. The provided array must fully contain the specified + range, but this is not checked.} with has_side_effects = True code_size = { primOpCodeSizeForeignCall + 4 } primop FreezeArrayOp "freezeArray#" GenPrimOp MutableArray# s a -> Int# -> Int# -> State# s -> (# State# s, Array# a #) - {Return a newly allocated Array# with the specified subrange of the provided MutableArray#. - The provided MutableArray# should contain the full subrange specified by the two Int#s, but this is not checked.} + {Given a source array, an offset into the source array, and a number + of elements to copy, create a new array with the elements from the + source array. The provided array must fully contain the specified + range, but this is not checked.} with has_side_effects = True code_size = { primOpCodeSizeForeignCall + 4 } primop ThawArrayOp "thawArray#" GenPrimOp Array# a -> Int# -> Int# -> State# s -> (# State# s, MutableArray# s a #) - {Return a newly allocated Array# with the specified subrange of the provided MutableArray#. - The provided Array# should contain the full subrange specified by the two Int#s, but this is not checked.} + {Given a source array, an offset into the source array, and a number + of elements to copy, create a new array with the elements from the + source array. The provided array must fully contain the specified + range, but this is not checked.} with has_side_effects = True code_size = { primOpCodeSizeForeignCall + 4 } |