Une rationalisation semantique de la programmation logico-fonctionnelle. Application a la traduction de programmes logiques
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Le but de la these est de concevoir un langage de programmation regulier, qui permette l'execution de tout programme lisp ou prolog. Pour cela, nous definissons les semantiques denotationnelles de ces deux langages, en discutant des principales divergences entre dialectes. Ces semantiques nous aident a analyser les langages logico-fonctionnels proposes precedemment: langages a base de regles de reecriture ou d'equations, interfaces lisp-prolog et extensions logiques de langages fonctionnels. Nous constatons que seules ces dernieres vont plus loin qu'une simple juxtaposition de deux langages et offrent les caracteristiques imperatives de lips et prolog. Par comparaison des semantiques de lisp et prolog, nous elaborons celle d'une nouvelle integration, nommee ella. Ella est une extension minimale de lisp qui integre des inconnues de premiere classe, l'indeterminisme de prolog et le gel de calculs. Elle dispose d'echappements sans interaction avec les inconnues et qui distinguent clairement les continuations de succes et d'echec. Ainsi il est possible d'abandonner des calculs prevus sans supprimer de choix restant a explorer, et reciproquement. Nous verifions qu'ella preserve la semantique des programmes lisp. Nous presentons une traduction syntaxique de tout programme prolog en programme ella equivalent. En particulier, sont traduits le coupe-choix, le gel et les modifications dynamiques de la base de donnees. L'etude de la correction de la traduction conclut l'expose. Elle permet d'affirmer qu'ella possede bien les puissances d'expression de lisp et de prolog