any copy(any x)
Arguments
x: The value to copy
Usage
Create a deep copy of any value. Contrasting with assignment, which creates another reference, this function traverses the entire structure and creates a clone. Note that this function is not pure, as even called with the same input, it returns a different copy each time.
a = [5,6,7];
myFunction(a); // pass by shallow copy
myFunction(copy(a)); // pass by deep copy
Copying a structure containing a foreign pointer (for example a database or file handle, or a piece of binary data) will copy the pointer but will not copy the contents of that pointer.