Todd Sabin <tsabin@...> writes:
> I'm not so sure. The CLHS page for Declaration TYPE has this to say:
> Within the lexical scope of an array type declaration, all
> references to array elements are assumed to satisfy the expressed
> array element type (as opposed to the upgraded array element
> type). A compiler can treat the code within the scope of the array
> type declaration as if each access of an array element were
> surrounded by an appropriate the form.
Oh, great! :-) I'd never absorbed that passage before.
At least this seems to give some latitude for implementing what is
demonstrably user-requested behaviour. There's at least a chance that
it can be made to work consistently, too, but it'll take some
thinking, I should think.
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)