Chicken implementation John Cowan (08 Sep 2022 23:51 UTC)
Re: Chicken implementation Arthur A. Gleckler (08 Sep 2022 23:59 UTC)
Re: Chicken implementation Marc Nieper-Wißkirchen (09 Sep 2022 06:24 UTC)
Re: Chicken implementation Arthur A. Gleckler (09 Sep 2022 18:53 UTC)
Re: Chicken implementation John Cowan (09 Sep 2022 20:15 UTC)
Re: Chicken implementation Marc Nieper-Wißkirchen (09 Sep 2022 20:22 UTC)
Re: Chicken implementation John Cowan (09 Sep 2022 21:13 UTC)
Re: Chicken implementation Marc Nieper-Wißkirchen (10 Sep 2022 07:30 UTC)
Re: Chicken implementation John Cowan (10 Sep 2022 10:36 UTC)
Re: Chicken implementation Marc Nieper-Wißkirchen (10 Sep 2022 11:12 UTC)
Re: Chicken implementation Arthur A. Gleckler (10 Sep 2022 21:46 UTC)

Re: Chicken implementation Marc Nieper-Wißkirchen 10 Sep 2022 07:30 UTC

Am Fr., 9. Sept. 2022 um 23:13 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>
>
>
> On Fri, Sep 9, 2022 at 4:22 PM Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>
>>
>> No, if `procedure/tag?` returns `#t`, the procedure `procedure-tag` must not crash.
>
>
> But it says "It is an error if proc is not a tagged procedure".  So "it is an error" means the behavior is undefined (which may include crashing), per R[57]RS; in R6RS the term "it is an error" is not defined.

Yes, so `procedure/tag?` must only return `#t` on tagged procedures.
My initial comment that it can return `#t` on all procedures was in
the context of your Chicken implementation where all procedures are
tagged (possibly with some unspecified value).  On the other hand, for
other implementations where tagged procedures form a strict subset of
non-tagged procedures, `procedure/tag?` must reflect this.

(In R6RS, an assertion violation would be raised per section 5.4 of the report.)