Une famille d'objets est constitué par une table de ces objets. On dispose de quelques primitives permettant de manier ces tables. On connaît déjà la fonction $apply$ pour les tables de nombres. En fait cette fonction s'applique pour toute table d'objets unaires (les nombres, les tableaux, et donc les ellipses, les polygônes, etc\dots ). On dispose également d'analogues pour les points, cercles et droites~: \syntaxe \longref {$[$ $a_0$ $\ldots $ $a_n$ $]$ $f$} {apply} {$[$ $b_0$ $\ldots $ $b_n$ $]$ ou $-$} {construit un nouveau tableau en répétant, pour $i$ variant de $0$ à $n$, l'opération suivante~: déposer l'élément $a_i$ puis exécuter $f$. Si à la fin de cette opération le tableau est vide, alors il est enlevé de la pile.} \longref {$[$ $A_0$ $\ldots $ $A_{n}$ $]$ $f$} {papply} {$[$ $b_0$ $\ldots $ $b_n$ $]$ ou $-$} {construit un nouveau tableau en répétant, pour $i$ variant de $0$ à $n$, l'opération suivante~: déposer le point $A_i$ puis exécuter $f$. Si à la fin de cette opération le tableau est vide, alors il est enlevé de la pile.} \Exemple |[0 0 1 1 2 2] {1} papply| $\longrightarrow$ |[0 0 1 1 1 1 2 2 1]| \hfill \break |[0 0 1 1 2 2] {point} papply| $\longrightarrow$ |-| applique la commande |point| aux points $(0, 0)$, $(1, 1)$ et $(2, 2)$ \finExemple \longref {$[$ $cerc_0$ $\ldots $ $cerc_{n}$ $]$ $f$} {capply} {$[$ $b_0$ $\ldots $ $b_n$ $]$ ou $-$} {construit un nouveau tableau en répétant, pour $i$ variant de $0$ à $n$, l'opération suivante~: déposer le cercle $C_i$ puis exécuter $f$. Si à la fin de cette opération le tableau est vide, alors il est enlevé de la pile.} \longref {$[$ $d_0$ $\ldots $ $d_{n}$ $]$ $f$} {dapply} {$[$ $b_0$ $\ldots $ $b_n$ $]$ ou $-$} {construit un nouveau tableau en répétant, pour $i$ variant de $0$ à $n$, l'opération suivante~: déposer la droite $d_i$ puis exécuter $f$. Si à la fin de cette opération le tableau est vide, alors il est enlevé de la pile.} \longref {$[$ $a_0$ $\ldots $ $a_n$ $]$ $f$ $n_0$ $n_1$} {Apply} {$[$ $b_0$ $\ldots $ $b_n$ $]$ ou $-$} {L'éxécutable $f$ prend $n_1$ arguments et on décale de $n_0$ à chaque itération. Ainsi le premier paramètre de la 2ème itération est $x_{n_0 + 1}$. Par exemple, les commandes |3 3 Apply| et |capply| sont équivalentes.} \endsyntaxe \exemple {famille1} \exemple {famille2} \exemple {famille3} %\exemple {vonkoch1} %\exemple {vonkoch}