Précédent   Forum du club des développeurs et IT Pro > Autres langages > Langages fonctionnels > Lisp
Lisp Forum d'entraide sur la programmation en langages fonctionnels Lisp et Common Lisp
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/04/2011, 12h35   #1
Student-lisp
Invité de passage
 
Homme
Étudiant
Inscription : avril 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2011
Messages : 1
Points : 0
Points : 0
Par défaut débutant lisp : Packages

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 :
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 :
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...
Student-lisp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 14h43   #2
jack-ft
Membre Expert
 
Inscription : avril 2008
Messages : 794
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 794
Points : 1 800
Points : 1 800
Citation:
Envoyé par Student-lisp Voir le message
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 :

[SNIP]

// 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...
Je ne pense pas vraiment pouvoir t'aider, mais je crois qu'il serait bon que tu précises quel lisp tu utilises et sur quelle plateforme.

De plus, merci d'utiliser la balise "QUOTE" symbolisée par un "#".
jack-ft est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h14.


 
 
 
 
Partenaires

Hébergement Web