After a long hibernation, resurrecting the discussion
. What do you say in your comment would be something like what I drew quickly on a sheet of paper?
Julia function arguments follow a convention sometimes called “pass-by-sharing”, which means that values are not copied when they are passed to functions. Function arguments themselves act as new variable bindings (new locations that can refer to values), but the values they refer to are identical to the passed values. Modifications to mutable values (such as
Arrays) made within a function will be visible to the caller. This is the same behavior found in Scheme, most Lisps, Python, Ruby and Perl, among other dynamic languages. – See: Functions · The Julia Language.
The above writing as found in the documentation of the language Julia leads me to think like the image I drew.
