ELAN: a logical framework for prototyping logic programming languages with constraints
ELAN : un cadre logique pour le prototypage de langages de programmation avec contraintes
Résumé
Not available
La thèse décrit l'étude et l'implantation du langage ELAN qui permet de spécifier, sur une base uniforme de systèmes de calcul, différents langages de programmation logique et différents résolveurs de contraintes. ELAN est basé sur l'idée que la sémantique opérationnelle de langages de programmation logique dans le sens général du terme et la résolution de contraintes peuvent être décrites d'une façon uniforme en donnant la syntaxe des formules, l'ensemble des axiomes et l'ensemble des règles de déduction. Les deux processus peuvent être vus comme l'instance du meme schéma d'application des règles de réécriture (de déduction) sur des formules, suivant une stratégie permettant l'obtention d'une forme spéciale. La logique de réécriture, introduite par Jose Meseguer, peut être ainsi utilisée pour coder différentes logiques intéressantes. Afin de pouvoir spécifier des procédures de résolution, la thèse présente une notion de stratégie, obtenant ainsi des systèmes de calcul. Un système de calcul est alors défini par une signature décrivant la syntaxe, un ensemble de règles de réécriture définissant le mécanisme de déduction et une stratégie qui guide l'application des règles. La thèse décrit également l'implantation d'ELAN et quelques exemples de procédures de résolution réalises avec cette implantation, en particulier la sld-resolution, la surréduction, la surréduction basique, la surréduction paresseuse et l'unification syntaxique et commutative