On 27 Oct 2025, at 10:22, Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
> By this idea, a specification that is implementable in pure syntax-rules has an advantage over a specification that needs procedural macros. In fact, it has another advantage, because the "Turing Tarpit" doesn't apply fully here - the syntax-rules language is not as expressive as R6RS's macro system -, so one can prove stronger theorems about programs written in it.
If syntax-rules were not Turing-complete I would agree; but it is. I don’t think theorems involving the ability to test for or manipulate datum types other than pair, vector, identifier (and boolean and empty list) are very interesting theorems, especially considering the ability to simulate any other type using the types that one can represent in syntax-rules.
> To give an example, I am currently replacing SRFI 242 with a version that solely depends on R6RS and not on R6RS+SRFI 213. Of the same tenor, I suggested to Daphne to amend SRFI 262 so that it becomes implementable in R6RS and, in principle, R7RS Small.
Just to note my response to this in public: SRFI 262’s purpose is to encourage adoption of identifier properties by showing off what cool things they can do. If that fails, I will make a follow-up.
Daphne