On 12-02-2023 19:46, wolf wrote: > Also, I could not help to notice that when I use R6RS records it does work > regardless of the order: > > (use-modules (rnrs records syntactic)) > > (define (x y) > (display (q-foo y)) > (newline)) > > (define-record-type q (fields foo)) > > (x (make-q "1")) > > So, I have few questions I would like to ask: > > 1. When does order matter? What is going on here? IIUC, the difference here between SRFI and R6RS, is that the SRFI tries to inline the constructor via macros -- in SRFI-9, 'foo' is a macro, whereas in R6RS, it is a procedure. I also might be incorrect -- while I have once looked at the R6RS and SRFI records implementation, I might have misremembered. Greetings, Maxime.