Jonathan J Simpson <[EMAIL PROTECTED]> writes: > I thought that in cmucl, structs could have unboxed slots. I'm using > cmucl 18e.
They do. > Is it supposed to be doing this. I've noticed other people do this > in their code and claim that they don't see any compiler notes. > This has been a longstanding problem for me and my attempts to write > clean and efficient code in lisp. These compiler notes are completely irrelevant to normal execution of the various accessors, which will typically be inlined in your code (and so, given a suitable consumer of their values, will not cons a pointer). So (+ 1.0d0 (vec4-x foo)) won't cons a pointer for the intermediate value, but (mapc #'vec4-x list-of-foos) probably will. The corollary to this is that the definitions of the structures (and the accessors) don't need to be in a high speed and low safety environment, only their uses. Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)
