` lista
Devuelve una lista igual a su argumento pero con ciertas sustituciones.
Si un miembro de la lista es la palabra ,
(coma) entonces el siguiente miembro debe ser una lista de instrucciones que devuelve un valor cuando se la ejecuta.
Ese valor reemplaza a la coma y a la lista.
Eso se llama sustitución.
Si un miembro de lista
es la palabra ,@
(coma arroba), entonces el siguiente miembro debe ser una lista de instrucciones que devuelve una lista cuando se la ejecuta.
Los miembros de esa lista reemplazan a ,@
y a la lista.
Eso se llama empalmación («splicing» en inglés).
Se trata una palabra que comienza con ,
o ,@
como si el resto de la palabra fuera una lista de una sola palabra.
Por ejemplo, ,:foo
equivale a ,[:foo]
.
Se sustituye a una palabra que comienza con ",
(comillas inglesas coma) por una palabra que comienza con "
seguido por el resultado de ejecutar la sustitución sobre lo que viene después de la coma.
Si lo que viene después de la coma es una lista, sólo se usa la primera palabra de la lista en la sustitución.
Se sustituye a una palabra que comienza con :,
(dos puntos coma) por una palabra que comienza con :
seguido por el resultado de ejecutar la sustitución sobre lo que viene después de la coma.
Si lo que viene después de la coma es una lista, sólo se usa la primera palabra de la lista en la sustitución.
Se pueden anidar las comillas invertidas. Sólo se sustituye a las comas cuando aparecen al mismo profundidad que la comilla invertida en que se encuentran. Ve al segundo y al tercero ejemplos a continuación.
MUESTRA `[foo baz ,[MENOSPRIMERO [a b c]] garply ,@[MENOSPRIMERO [a b c]]]
[foo baz [b c] garply b c]
MUESTRA `[a `[b ,[1+2] ,[foo ,[1+3] d] e] f]
[a ` [b , [1+2] , [foo 4 d] e] f]
HAZ "nombre1 "x
HAZ "nombre2 "y
MUESTRA `[a `[b ,:,:nombre1 ,",:nombre2 d] e]
[a ` [b , [:x] , ["y] d] e]