What is quasi-quote?
Suppose we have the following declaration:
food = burger
Eat food
Intuitively we can guess we wanted to say:
Eat burger
However, we can’t say for sure, since Eat food
is ambiguous, we are not sure whether to treat the whole thing literally or evaluate underlying meanings.
As such we wrap the whole thing in a quasi-quote
. This tells us to just take everything literally.
`(Eat food) ; equivalent to `(quasi-quote (Eat food))`
Next, we mark the parts we want to evaluate, in this case food
.
`(Eat ,food)