|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
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 |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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? |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
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 |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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? |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Nicolas ValléeIngénieur d'études Inscription : décembre 2005 Messages : 9 961 ![]() |
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 |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Nicolas ValléeIngénieur d'études Inscription : décembre 2005 Messages : 9 961 ![]() |
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..." |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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. |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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. |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Nicolas ValléeIngénieur d'études Inscription : décembre 2005 Messages : 9 961 ![]() |
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 |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : avril 2012 Messages : 26 ![]() |
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 |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com