Programmation applicative

Programmation applicativeCode de l'UE : HLIN403

Présentation

La programmation applicative repose sur un modèle de calcul, issu du lambda-calcul de Church,
qui représente l'exécution d'un programme comme une suite d'applications de fonctions à des arguments, donc comme un simple calcul algébrique (calcul utilisant des nombres et des symboles). Proche de la programmation fonctionnelle, elle fournit un cadre remarquablement simple pour étudier la programmation et ses structures en général.

Elle fournit en particulier un contexte particulièrement approprié pour étudier
les fonctions et les structures de données récursives (listes, arbres, etc) omniprésentes dans les applications
informatiques (par exemple une page HTML décrivant une page web a une structure d'arbre).
Elle se prête également fort bien à la programmation symbolique (manipulation de données non strictement numériques)
utilisée en gestion et en IA. Elle permet enfin de présenter simplement
l'interprétation des textes et des programmes (affichage d'une page HTML ou interprétation d'une instruction d'un langage
de programmation) comme exemples de fonctions récursives.

Objectifs

Les objectifs du module sont
- de poursuivre l'acquisition à un niveau intermédiaire des concepts essentiels de la programmation : fonction,
identificateurs, portée, durée de vie, bloc, environnement, fonction d'ordre supérieur.
- de renforcer les compétences essentielles de l'informaticien sur : abstraction de données, composition de calculs, récursivité,
transformation des récursivités, gestion automatique de la mémoire, "garbage collection", typage dynamique, interprétation, ...
(sur nombres, chaînes , listes, arbres)
- d'ouvrir à la compréhension d'un paradigme de programmation, d'une famille de langages et de ses extensions vers les objets
le web (de Lisp, Smalltalk, Clos, à Ruby, Python, Javascript, etc).

Volume horaire

  • CM : 15
  • TD : 18
  • TP : 16.5

Syllabus

Structure and Interpretation of Computer Programs , (with Gerald Jay Sussman and Julie Sussman), MIT Press and McGraw-Hill, 1985. Second edition, 1996.

Diplômes intégrant cette UE

En bref

Crédits ECTS 5

Méthode d'enseignement
En présence

Langue d'enseignement
fr

Contact(s)

Contact(s) administratif(s)

Christophe DONY (christophe.dony @ umontpellier.fr)

Annie CHATEAU (annie.chateau @ umontpellier.fr)