---
name: "Builtins.copy"
section: "3kaya"
platform: "linux"
package: "kaya"
version: "0.4.4-6.2"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Builtins.copy"
---

# Builtins.copy(3kaya)

Copy a value

## NAME

Builtins::copy - Copy a value

## SYNOPSIS

**any copy(** *any x* **)**

## ARGUMENTS

**x** The value to copy

## DESCRIPTION

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.

## AUTHORS

Kaya standard library by Edwin Brady, Chris Morris and others (kaya@kayalang.org). For further information see http://kayalang.org/

## 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.
