On Fri, Sep 9, 2022 at 2:24 AM Marc Nieper-Wißkirchen <[email protected]>
wrote:

> Note that you could also have `procedure/tag?` return `#t` in all
> cases,


I assume you mean for all procedures, rather than for all objects
whatsoever.

> which is probably better than exploiting the "is an error"
> condition.
>

I don't understand the way the SRFI is supposed to work.  Suppose I wish to
take an arbitrary procedure and obtain a tag on whose value I can depend.
If procedure/tag? returned #t iff a procedure has a tag, that would work
safely.  But since procedure/tag? can return #t on any procedure,
procedure-tag might crash my program, and I have no way to defend against
this.  So it is never safe to call procedure-tag unless I already know that
the procedure is tagged.

I would suggest an erratum that disallows procedure/tag? from returning #t
on procedure p unless procedure/tag is guaranteed to return some result on
p.

Reply via email to