Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > Prolog
Prolog Forum d'entraide sur la programmation en langage Prolog. Avant de poster : Cours Prolog
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 08/04/2012, 22h15   #1
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Par défaut lambda calcul en prolog

Salut a tous,

Je suis nouvelle ici et j'aimerai bien avoir une aide sur l'implémentation du lambda calcul d'ordre supérieur en prolog.

Je suis débutante en Prolog et je commence a connaitre le lambda calcul, j'aimerai bien faire une implémentation du lambda calcul en prolog.

Je voudrais avoir de l'aide juste pour commencer, j'aimerai bien voir un exemple qui marche et puis je pourrais faire la suite après.

Merci a tous.
blili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2012, 23h32   #2
Trap D
Rédacteur/Modérateur
 
Avatar de Trap D
 
Inscription : septembre 2003
Messages : 4 434
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 4 434
Points : 5 298
Points : 5 298
Voici un lien intéressant je pense :
http://www.complang.tuwien.ac.at/ulr...edit/ISO-Hiord
Il y a tout dedans.
__________________
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés

Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi
Trap D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2012, 00h01   #3
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Par défaut lambda calcul en prolog

Merci Pour votre réponse.

Mais ce que je cherche vraiment est comment implémenter les types du lambda calcul du second ordre en prolog?

Comment représenter les lambda terme en prolog ainsi que la bêta-réduction et la alpha-conversion?
blili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2012, 15h13   #4
Trap D
Rédacteur/Modérateur
 
Avatar de Trap D
 
Inscription : septembre 2003
Messages : 4 434
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 4 434
Points : 5 298
Points : 5 298
Tout de même je pense que l'étude attentive de ce module prolog peut être très intéressante.
__________________
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés

Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi
Trap D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2012, 19h44   #5
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Par défaut lambda calcul en prolog

Merci votre réponse.

Peut être je dois donner plus de précision sur ce que je cherche exactement:

comment représenter les types du lambda calcul du second ordre en prolog?

comment représenter les termes du lambda calcul du second ordre en prolog?
blili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2012, 12h06   #6
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 961
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 961
Points : 18 152
Points : 18 152
question intéressante... as-tu déjà commencé ? histoire qu'on t'aide dans ta réflexion


aussi passage, un petit lien qui devrait te donner un début de piste
http://www.sfs.uni-tuebingen.de/~fr/...ris-lambda.pdf
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2012, 14h01   #7
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Justement, je veux de l'aide pour commencer.

Merci pour le document, mais ce que je cherche exactement est l’implémentation du lambda calcul du "second ordre" en prolog.

Merci d'avance.
blili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2012, 15h10   #8
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 961
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 961
Points : 18 152
Points : 18 152
que veux-tu exactement, avec une telle implantation ?

vérifier le type d'une expression ?
afficher l'arbre de décomposition permettant d'atteindre ce type ?
juste faire la ré-écriture (alpha et beta conversion) ?
tenter d'inférer le type via des contraintes ? (sachant que le cas général est indécidable)

as-tu au moins chercher une définition formelle du lambda-calcul du second ordre ? sais-tu le comparer avec SystemF ?


telle quelle, ta question ressemble plus à "Pouvez-vous faire mon devoir ?", et la réponse sera "Non, mais on peut t'aider à le finir..."
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2012, 15h21   #9
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Ce que je veux exactement est:

1)avoir une représentation des types du lambda calcul du second ordre en prolog.

2)donner le type d'une expression(si on a un lambda terme en entrée, afficher en sortie le lambda terme typé correspondant).

3)programme qui permet de calculer l'alpha conversion.

Merci d'avance.
blili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2012, 12h23   #10
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Bonjour à tous,

peut être je dois donner plus de précision concernant ce que je cherche:

Quelle structure de données il faut utiliser pour représenter les lambda terme en entrée pour calculer le type d'une expression? si on choisit les listes, alors comment on peut le faire?

Quelle structure de données il faut utiliser pour représenter les différents types du lambda calcul du second ordre (système F)?

et enfin, quelles étapes à suivre pour appliquer la substitution (toujours dans le système F)?

Merci à tous.
blili est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2012, 22h14   #11
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 961
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 961
Points : 18 152
Points : 18 152
un petit exemple qui devrait t'aider...
http://www.ling.gu.se/~sl/typechecker.ps


essaies de nous montrer quelque chose, si tu veux plus que des liens informatifs


au passage, si jamais tu veux t'investir plus loin dans ce sujet, regardes ceci :
http://www.cs.cmu.edu/~rvirga/work/thesis.pdf
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2012, 23h19   #12
blili
Invité de passage
 
Femme
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 1
Points : 1
Je vous remercie pour votre réponse.

En fait ce que je veux exactement est:

1)A partir d'un lambda terme (contenant des sous termes typés) pouvoir calculer le type général du lambda terme( çàd calcul des types des termes complexes).

2)Comment représenter la substitution du système F en prolog, càd, comment traduire ceci en prolog:

-si t est une variable,
alors t[x/u]=u si x=t et t sinon

-si t est une application (vw)alors
t[x/u]=v[x/u]->w[x/u]

-si t est une abstraction (lambda y.v) alors
t[x/u]=lambda y.(v[x/u]) si x est différent de y
t sinon
blili 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 09h14.


 
 
 
 
Partenaires

Hébergement Web