Существует ли книга, в которой написано, почему макросы в scheme такие странные.
Логика макросов CL понятна. Всё есть список, дальше программист сам разберётся.
Часть решений в Scheme тоже: гигиена по-умолчанию, паттерны.
Но зачем нужна отдельная от списка структура кода (syntax)? Почему этот syntax, будучи созданным внутри макроса не привязывается автоматически к строке, где был использован макрос (вместо #' #` приходится писать syntax/loc)?