emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: If records are not sequences, why does aref work on records?


From: Clément Pit-Claudel
Subject: Re: If records are not sequences, why does aref work on records?
Date: Sat, 8 Apr 2017 13:17:25 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

On 2017-04-08 11:24, Lars Brinkhoff wrote:
> Clément Pit-Claudel wrote:
>> It doesn't need to: since vectors and lists are used, it's natural to
>> use vector and list functions on these objects.  It goes further: the
>> cl-struct predicates are explicitly *documented* to work fine on
>> vectors:
>>
>>      Given any Lisp object X, ‘(person-p X)’ returns true if X looks
>>      like a ‘person’, and false otherwise.  (Again, in Common Lisp this
>>      predicate would be exact; in Emacs Lisp the best it can do is
>>      verify that X is a vector of the correct length that starts with
>>      the correct tag symbol.)
> 
> Not any more.  When I made my change, I found this part of the manual
> and deleted the text in parentheses.  And also changed much of the other
> places you quoted.

Yup, of course; it was natural to update the manual along with the change.  I 
was pointing to the documentation as it was when people introduced the `arefs' 
and 'cl-defstruct' whose validity is now under discussion in my their code, 
because the question was whether people should have known that using `aref' 
this way was relying on an implementation detail.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]