.\" This man page is automatically generated using .\" kayadoc2man from the Kaya development tools and the -xmldocs compile .\" option. Editing it directly is not encouraged. .\" It is under the same license as the source .k file that it was .\" generated from. .TH "Builtins.copy" "3kaya" "August 2014" "Kaya" "Kaya module reference" .SH "NAME" Builtins::copy \- Copy a value .SH "SYNOPSIS" .B any copy( \fIany x\fP .B ")" .SH "ARGUMENTS" .PP .B "x" The value to copy .SH "DESCRIPTION" .PP 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 \fBnot\fP pure, as even called with the same input, it returns a \fBdifferent\fP copy each time. .IP "" -4 a = [5,6,7]; myFunction(a); // pass by shallow copy myFunction(copy(a)); // pass by deep copy .PP 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 \fBnot\fP copy the contents of that pointer. .SH "AUTHORS" Kaya standard library by Edwin Brady, Chris Morris and others (kaya@kayalang.org). For further information see http://kayalang.org/ .SH LICENSE The Kaya standard library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (version 2.1 or any later version) as published by the Free Software Foundation.