From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!nmaster.kpnqwest.net!nreader2.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: quest for pass-by-reference semantics in CL References: <2h6627rlr0.fsf@vserver.cs.uit.no> <2hsn5araqe.fsf@vserver.cs.uit.no> <3229347076995853@naggum.net> <3229526943281243@naggum.net> Mail-Copies-To: never From: Erik Naggum Message-ID: <3229595420030938@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 23 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 05 May 2002 13:50:20 GMT X-Complaints-To: newsmaster@KPNQwest.no X-Trace: nreader2.kpnqwest.net 1020606620 193.71.199.50 (Sun, 05 May 2002 15:50:20 MET DST) NNTP-Posting-Date: Sun, 05 May 2002 15:50:20 MET DST Xref: archiver1.google.com comp.lang.lisp:32888 * 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.