Bonjour a tous, j'essaye depuis plusieurs jours de créer un mini package entre deux fichiers lisp, et toutes les aides et tutoriels que j'ai lu pour l'instant me font penser que les packages doivent etres dans les memes fichier... voici le corps d'un fichier que j'ai créer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
(make-package :declar)
 
(make-package :use)
 
(in-package :declar)
(defun f (x) (+ x 1))
(defun g (x) (* x x))
 
(in-package :use)
 
(import 'declar::f)
(import 'declar::g)
(defun p (x) (g (f x)))
 
(p 5)
lorsque je le lance il n'y a pas de problème, tout marche.
Mon problème est que j'aimerais séparer en deux fichier, d'un coté la déclaration des fonctions f et g, et de l'autre l'import de ces deux fonction pour les utiliser dans p :
fichier 1 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(make-package :declar)
(in-package :declar)
(defun f (x) (+ x 1))
(defun g (x) (* x x))
 
fichier 2 :
 
(make-package :use)
(in-package :use)
(import 'declar::f)
(import 'declar::g)
(defun p (x) (g (f x)))
 
(p 5)
// ceci ne marche pas du tout bien évidement...

j'ai eu beau chercher, je me suis noyer dans les informations ne se rapportant pas a mon problème.

j'en vient donc ici requerir votre aide, ou tout du moins dites moi si ce que j'essaye de faire est simplement possible...

d'avance merci


//
j'ai trouver une manière de faire, je ne sait pas si c'est la plus propre, mais ca marche, j'utilise (load chemin_du_fichier) qui ajoute le listing du fichier voulu avant le reste du code.

Personnelement j'appelle pas cela un vrai package mais bon...