From ...
From: Erik Naggum
Subject: Re: Performance tuning
Date: 2000/12/07
Message-ID: <3185215881931249@naggum.net>#1/1
X-Deja-AN: 702332246
References: <3184953833736032@naggum.net> <3A2C7C38.4F68956A@fisec.com> <3185025504930095@naggum.net> <90jju3$44s$1@reader1.fr.uu.net> <3185044115971786@naggum.net> <3A2E1240.C8911FE@anglia.ac.uk> <3185194562763651@naggum.net>
mail-copies-to: never
Content-Type: text/plain; charset=us-ascii
X-Complaints-To: newsmaster@eunet.no
X-Trace: oslo-nntp.eunet.no 976227422 27486 195.0.192.66 (7 Dec 2000 22:17:02 GMT)
Organization: Naggum Software; vox: +47 800 35477; gsm: +47 93 256 360; fax: +47 93 270 868; http://naggum.no; http://naggum.net
User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7
Mime-Version: 1.0
NNTP-Posting-Date: 7 Dec 2000 22:17:02 GMT
Newsgroups: comp.lang.lisp
* Tim Bradshaw
| Surely the semantic change is somnething like:
|
| (defun foo (x)
| (declare (type integer x))
| (let ((y x))
| ;; if X is a bignum then Y is a pointer to X, if X is a fixnum then
| ;; Y is a copy of X (probably?)
| (bar y)
| ;; right now this is true. if DPB modifies bignums it will be
| ;; true only if y was odd.
| (= x y)))
|
| (defun bar (y)
| (declare (type integer y))
| (dpb 1 (byte 1 0) y))
Well, I _had_ hoped to see semething a tad less contrived, as this is
bad style on so many counts that I'm likely to believe nobody has done
anything like this that would cause a _change_ in observable behavior.
To find a change in semantics, you would at least have to find
something that people do today with dpb (or setf of ldb). But at
worst, we could define a destructive version of dpb, which would be
pretty easy to write even today.
#:Erik
--
"When you are having a bad day and it seems like everybody is trying
to piss you off, remember that it takes 42 muscles to produce a
frown, but only 4 muscles to work the trigger of a good sniper rifle."
-- Unknown