Subject: Re: quest for pass-by-reference semantics in CL
From: Erik Naggum <erik@naggum.net>
Date: Sun, 05 May 2002 13:50:20 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3229595420030938@naggum.net>

* Takehiko Abe
| I had read your previous post about 'the standard three' and I thought I
| got them right. I have a mental model of Lisp's argument passing, which
| seems very natural and intuitive. However, my understanding was that it's
| different from C's argument possing model which involves 'copying' of an
| argument.

  Well, no, C's does not involve copying, it just passes all struct members
  as individual arguments, as in destructuring.  I guess a destructured
  pass by value looks a lot like a copy, and I guess this whole messy
  argument passing thing in C has confused a lot of people, what with
  arrays being passed by value but as references, with pointers being
  passed by value but being references, and struct being passed by value
  but as values.

| Thanks for your patience.

  You're welcome.  I hear this not nearly enough.  :)
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.

  70 percent of American adults do not understand the scientific process.