Jean Abou Samra <j...@abou-samra.fr> writes: >> Le 25 juil. 2022 à 09:01, Andrew Bernard <andrew.bern...@mailbox.org> a >> écrit : >> >> >> Hello Jean, >> >> This is a great effort. >> >> A couple of suggestions. I suppose there are a few web pages with >> lists of recommended texts for Scheme, but I think it would be great >> if you added this one to the 'where to go from here' section: >> >> Teach Yourself Scheme in Fixnum Days (ds26gte.github.io) >> > > > Gosh, it seems to teach Lisp-style non-hygienic macros instead of > syntax-rules/syntax-case. That’s heresy against my religion! OK, I > stop now :-)
syntax-rules/syntax-case introduce a completely new and arbitrary syntax intended to be human-readable. That's sort of a counterthesis to the LISP philosophy of representing programs by the data representation of their parse tree, skipping a human-readable abstraction for the sake of making it easy to programmatically generate and analyze programs. Macros, in contrast, are just a flag on functions telling the evaluator "evaluate the function result instead of its arguments". That is an almost trivial tweak. More complex, indeed, is the quasiquote mechanism that operates to a good degree in the LISP reader and makes it comparatively easy to handle the creation of material suitable as macro body. In contrast to syntax-rules/syntax-case this reflects more a philosophy rather than a religion since it isn't arbitrary. Using it is more a matter of understanding rather than learning it. -- David Kastrup