Re: SRFI 282: Missing R7RS (Type) Predicates Marc Nieper-Wißkirchen 16 Sep 2026 08:16 UTC

I feel that this SRFI is too underspecified for it to be of usefulness
in portable code.

- R7RS does not have a notion of a library objects so the procedure
`library?` can have no meaningful use in portable code. Moreover, in
implementations having the notion of a library object, it may return
#t on completely incompatible objects.
- Environment specifiers need not be a distinct type in R7RS (they
could be an alist, a hashtable, a vector, an import spec, etc.). So
the lack of `environment?` from the standard is not an "interesting"
omission but correct.
- I don't get the "need" for `parameter?`.  What is this supposed to
mean when parameters can be procedures?
- In many macro systems, a syntax transformer is just a procedure
(taking a syntax object and returning one). It is unclear how a useful
`syntax-transformer?` could be defined. Moreover, in R7RS,
`syntax-rules` is not a keyword introducing an expression form so
syntax transformers are not first-class objects.

Marc

Am Mi., 16. Sept. 2026 um 00:25 Uhr schrieb Arthur A. Gleckler
<xxxxxx@speechcode.com>:
>
> Scheme Request for Implementation 282,
> "Missing R7RS (Type) Predicates",
> by Artyom Bologov,
> is now available for discussion.
>
> Its draft and an archive of the ongoing discussion are available at https://srfi.schemers.org/srfi-282/.
>
> You can join the discussion of the draft by filling out the subscription form on that page.
>
> You can contribute a message to the discussion by sending it to xxxxxx@srfi.schemers.org.
>
> Here's the abstract:
>
> Types and entities deserve predicates so that their user can meaningfully understand what they are dealing with, and usefully dispatch on them in their code. However, some R^{7}RS “types” have no respective predicates. This SRFI defines them.
>
> Regards,
>
> SRFI Editor