Ce sont des schémas de définition incomplète de phyla ou d'opérateurs. On ne leur attache aucune sémantique précise, ils permettent uniquement d'éviter des répétitions inutiles dans la définition de la syntaxe initiale.
Ces schémas sont de deux natures :
"de") : tous les phyla ou opérateurs utilisant ces fonctions subiront un traitement identique – aux paramètres de la fonction près ;"dmd") : pour chaque phylum ou opérateur défini sur la dmacro, on appliquera alors le traitement contenu dans la forme expansée de la dmacro, qui prendra en compte certaines spécificités du phylum ou de l'opérateur défini – les paramètres de la dmacro.
On peut noter que, dans ce dernier cas, l'emploi de dmacros n'est pas pénalisant pour l'efficacité du programme : en effet, dans la version Lisp utilisée (LeLisp V15.2), une dmacro est expansée la première fois qu'elle est utilisée ; l'interpréteur Lisp remplace alors physiquement l'appel de la dmacro par la forme expansée qui vient d'être calculée ; on n'a donc qu'une unique expansion de la dmacro.
err)C'est le phylum des erreurs. Toutes les fonctions retournent la valeur nil (qui est le 'faux' de Lisp).
recht-err ‹arg› ...
cpltt-err ‹arg› ...
imptt-err ‹arg› ...
entre-err ‹arg› ...
sorte-err ‹arg› ...
evale-err ‹arg› ...
« Erreur » doit s'entendre ici : on obtient un objet Lisp qui n'est pas attendu dans le phylum dans lequel on se situe : par exemple un atome, une liste, un opérateur non visible du phylum.
phylLST)C'est le schéma des phyla pour les lesquels :
- il est défini un opérateur de liste,
- cet opérateur est l'« opérateur privilégié » du phylum.
Il s'agit donc des phyla ENV, REP et LSP sur les opérateurs privilégiés respectifs env, rep et lsp.
Les fonctions ont deux paramètres nécessaires :
- ‹nomphyl› : le nom du phylum,
- ‹nomlst› : le nom de l'opérateur de liste privilégié.
cpltt-phylLST-nil ‹nomphyl› ‹nomlst›
‹nomlst›, la liste étant vide.imptt-phylLST-nil ‹nomphyl› ‹nomlst›
‹nomlst›, la liste étant vide.evale-phylLST ‹nomphyl› ‹nomlst›
‹nomphyl›, de l'opérateur de liste ‹nomlst›.operLST)C'est le schéma des opérateurs de liste. Cela concerne :
- l'opérateur env du phylum ENV,
- l'opérateur rep du phylum REP,
- l'opérateur lsp du phylum LSP.
Les fonctions ont au moins les deux paramètres nécessaires :
- ‹nomlst› : le nom de l'opérateur de liste,
- ‹nomelt› : le nom du phylum des éléments de la liste que constitue l'opérateur ‹nomlst›.
cpltt-operLST ‹nomlst› ‹nomelt› ‹arg›
‹arg› dans le phylum ‹nomelt› et retourne l'opérateur ‹nomlst› ainsi complété.imptt-operLST ‹nomlst› ‹nomelt› ‹arg›
‹nomlst› sous sa forme complète.imptc-operLST ‹nomlst› ‹nomelt› ‹arg›
‹nomlst› sous sa forme concise.entre-operLST ‹nomlst› ‹nomelt›
‹nomlst›, d'éléments du phylum ‹nomelt›, référencé par la variable : gref.sorte-operLST ‹nomlst› ‹nomelt›
‹nomlst›.operUTI)Ce schéma regroupe les deux opérateurs d'emploi :
- l'opérateur ref du phylum TRM,
- l'opérateur use du phylum ATM.
Les fonctions ont au moins le paramètre nécessaire :
- ‹nomuti› : le nom de l'opérateur d'emploi.
cpltt-operUTI ‹nomuti› ‹arg›
‹nomuti› par le nom et l'environnement local définis dans ‹arg›.imptt-operUTI ‹nomuti› ‹nom› ‹env›
‹nomuti› de nom ‹nom› d'environnement local ‹env›, sous sa forme complète.imptc-operUTI ‹nomuti› ‹nom› ‹env›
‹nomuti› sous sa forme concise.entre-operUTI
gref.sorte-operUTI
nom)Ce schéma regroupe les deux opérateurs d'emploi :
- l'opérateur def du phylum TRM,
- l'opérateur ref du phylum TRM,
- l'opérateur stg du phylum ATM,
- l'opérateur use du phylum ATM.
entre-nom
nom, on n'a donc pas d'attribut de sortie : sorte-nom.