I'm creating a domain-specific language. One of the macro calls looks something like this:
(my-macro foo (bar "baz" qux) yay)
With the way I've written my-macro, the second argument here is supposed to be a list of strings inside a pair of parentheses. So my-macro works as long as bar and qux evaluate to strings. Let's just say they evaluate eponymously to "bar" and "qux" and my-macro treats the second argument as "bar baz qux".
But now I've realized that I really want "baz" to retain its quotes; I want my-macro to treat the second argument as "bar \"baz\" qux". Is this possible? Inside my-macro, can I tell when I can just use a string as-is vs when I need to add back the double quotes?
Thanks in advance!