J'écris un code à SBCL, et l'ordre de mes fonctions ne cesse de provoquer des avertissements du type suivant apparaissent lorsque je charge les fichiers dans le REPL:SBCL forward déclaration: possible?
;caught STYLE-WARNING:
undefined function: FOO
Où FOO
est le symbole de la fonction. Ceci est purement dû à la façon dont ils sont ordonnés dans mon fichier, car la fonction FOO
est définie, juste avant la partie du code qui déclenche cet avertissement.
Maintenant, dans Clojure, qui est le Lisp que je connais, j'ai le formulaire declare
, qui me permet de faire des déclarations anticipées pour éviter ce genre de problème. Y a-t-il quelque chose de similaire pour SBCL/Common Lisp en général?
En général, je charge le fichier entier en utilisant '' (charge "foo.lisp") '' au premier niveau. Ces avertissements apparaissent la première fois que je charge un nouveau fichier. –
Essayez '(fichier de compilation" foo.lisp ")' suivi de '(charger" foo.fasl ")'. Si vous exécutez emacs/slime en tant que frontal, Ctrl-c Ctrl-k le fait pour vous. –