Quasiquote

(quasiquote argument) -> varies

Quasiquote is very similar to quote, except that by using the comma and the @ (scatter) symbol, certain items within are evaluated specially.

Examples:

>> (quasiquote (string? ,a))
:: (string? 1)
>> (quasiquote (string? @a))
:: (string? (scatter a))
>> (define b '(1 2 3))
:: (1 2 3)
>> (quasiquote (string? ,@b))
:: (string? 1 2 3)