Get the latest tech news
Extending a Language – Writing Powerful Macros in Scheme
— Writing Powerful Macros in Scheme Table of Contents - 1. Preface - 2.
Its defining properties are its uniform parenthesized syntax (inherited from Lisp), first-class procedures and continuations, lexical scoping, dynamic typing, proper tail calls and hygienic macros. The reason is that following ellipsis refers the immediately preceding subtemplate, so it is crucial that the two display commands (which we both want to repeated once per variable) appear in a single form. We evaluate these expressions once and store their values in the variables vec and idx(which will be suitably renamed by the macro expander so that they won't clash with user defined identifiers with the same name).
Or read this on Hacker News