assert / check-type / assure...

Steve Haflich shaflich at gmail.com
Mon Sep 23 02:28:54 UTC 2013


Hmmm, I notice the ANS says this about the VALUES type specifier:

  This *type specifier*<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_t.htm#type_specifier>
can
be used only as the *value-type* in a
*function*<http://www.lispworks.com/documentation/HyperSpec/Body/t_fn.htm#function>
 *type specifier*<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_t.htm#type_specifier>
or
a *the*<http://www.lispworks.com/documentation/HyperSpec/Body/s_the.htm#the>
 *special form*<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_s.htm#special_form>
.

I consider this to be a flaw in the ANS.  The CHECK-TYPE macro takes a
_place_ as its first subform, and _place_ is defined in the glossary in
terms of _generalized reference_ which in 5.1.1 contains text mentioning
values plural in a couple places, e.g.

  the ultimate result of evaluating
*setf*<http://www.franz.com/support/documentation/current/ansicl/dictentr/setfpset.htm>
is
the value or values being stored.

I think during the proofreading of the many ANS drafts no one except me
ever checked this issue for consistency, and I did it 21 years too late.

If god had intended standards to be such precious things, he wouldn't have
made so many of them.


On Sun, Sep 22, 2013 at 5:45 PM, Steve Haflich <shaflich at gmail.com> wrote:

> On Sun, Sep 22, 2013 at 1:18 PM, Scott McKay <swmckay at gmail.com> wrote:
>
>> It's sad that this conses...
>>
>
> A challenge exercise for students:
>
> If an implementation can stack-cons a &rest list, no heap consing is
> necessary.
>
> Hint: multiple-value-call
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20130922/bd28c664/attachment.html>


More information about the pro mailing list