En langage Lisp commun, la fonction (nom de la trace) peut être utilisée pour voir la sortie des appels à une fonction.Comment décrire une fonction locale à (trace)?
Si ma fonction est déclarée avec une portée locale, comment puis-je la décrire à tracer?
par exemple, comment puis-je trace la barre, ci-dessous:
(defun foo (x)
(labels ((bar (y) (format t "bar: ~a~&" y)))
(bar x)))
Les fonctions locales n'ont pas de trace, pas de docstrings, pas de redéfinition indépendante de leur parent. Tu abandonnes beaucoup. Pour cette raison, il vaut mieux avoir une bonne raison d'être local: et cette bonne raison est ... le roulement de tambour ... nécessitant l'accès à l'environnement lexical de la fonction parente. Votre fonction 'bar' ci-dessus ne fonctionne pas; il peut être trivialement déplacé en dehors de 'foo' pour rester seul en tant que fonction de premier niveau. – Kaz