L'objectif de ce cours est de présenter de nouveaux outils de conception de
logiciel, basés sur un langage déclaratif Prolog. Un mélange uniforme
et homogène de deux théories, le
-calcul et la logique des prédicats
permet de spécifier des solutions à des problèmes complexes dans les quels la
notion de portée est fondamentale. On rencontre ainsi les problèmes de typages,
de compilation ou de réécriture de programme ou encore les problèmes de
représentation de connaissance en intelligence artificielle. Nous concentrerons
notre étude sur deux aspects qui se complètent mutuellement : les nouvelles
possibilités offertes par les
-termes en tant méthode de
représentation de structures de données et les nouveaux outils de controles qui
permettent de spécifier des parcours inductifs sur la structure de ces nouveaux
objets. Nous insisterons particulièrement sur les questions difficiles posées
par la nature de ce mélange de deux théories. Le cours sera illustré par de
nombreux exemples dans les quels on pourra constater que, grâce à cette
méthode, une spécification peut devenir exécutoire.
Les deux dernières séances sont consacrées à la pratique