» INVOCA
resultado INVOCA plantilla entrada
INVOCA plantilla entrada
resultado (INVOCA plantilla entrada1 entrada2 ...)
(INVOCA plantilla entrada1 entrada2 ...)
Comando u operación que ejecuta la plantilla, rellenando sus huecos con las diferentes entradas.
resultado:(OBJETO) Cualquier cosa que devolviese la plantilla.
entrada:(OBJETO) Objetos a los que se aplican las operaciones.
entrada1:(OBJETO) Primer objeto al que se aplica.
entrada2:(OBJETO) Segundo objeto al que se aplica.
plantilla:(PLANTILLA) Plantilla a aplicar.
Ejemplo:
muestra (invoca "suma 1 2 3)
6
» PARACADA
PARACADA listadedatos listadeplantillas
(PARACADA listadedatos1 listadedatos2 ... listadeplantillas)
Comando que evalua la listadeplantillas de forma repetida, una por cada elemento de la listadedatos. Si se da más de una lista de datos, cada una de ellas tiene que ser del mismo tamaño. (Los datos de entrada pueden ser palabras, en cuyo caso la plantilla se evalua una vez por cada carácter).
listadedatos:(LISTA) Lista de objetos sobre los que se va a operar.
listadedatos1:(LISTA) Primera lista de objetos sobre los que se va a operar.
listadedatos2:(LISTA) Segunda lista de objetos sobre los que se va a operar.
listadeplantillas:(LISTA) Lista de plantillas que se van a ejecutar.
En una plantilla, el símbolo ?REST indica la parte de los datos de entrada a la derecha del miembro que en ese momento se esté utilizando para llenar el hueco ?. Esto significa, que si el dato de entrada es [A B C D E] y la plantilla se está evaluando con B reemplazando a B, entonces el ?REST sería sustituido por [C D E].
En una plantilla, el símbolo # representa la posición del miembro que al momento llena el hueco ?. Esto es, si el dato de entrada es [A B C D E] y la plantilla se está evaluando con B sustituyendo a ?, entonces # sería sustituido por 2.
Ejemplo:
paracada [a b c d] [escribe (fr "índice # "valor ? "resto ?rest)]
índice 1 valor a resto b c d
índice 2 valor b resto c d
índice 3 valor c resto d
índice 4 valor d resto