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.
