Я создаю предметно-ориентированный язык. Один из вызовов макросов выглядит примерно так:
(my-macro foo (bar "baz" qux) yay)
С учетом того, как я написал my-macro, второй аргумент здесь должен быть списком строк внутри пары скобок. Так что my-macro работает до тех пор, пока bar и qux вычисляются как строки. Скажем так, они однозначно оценивают «bar» и «qux», а my-macro обрабатывает второй аргумент как «bar baz qux».
Но теперь я понял, что действительно хочу, чтобы "баз" сохранил свои кавычки; Я хочу, чтобы мой макрос обрабатывал второй аргумент как "bar \" baz \ "qux". Это возможно? В моем макросе я могу сказать, когда я могу просто использовать строку «как есть» и когда мне нужно добавить двойные кавычки?
Заранее спасибо!