Author: Christian.Queinnec@lip6.fr

## Résumé

Ce chapitre a comparé les styles de programmation fonctionnel et impératif. Ils diffèrent principalement sur le contrôle de l'exécution (implicite en fonctionnel et explicite en impératif) et sur la représentation mémoire des données (partage ou copie explicite en impératif, non crucial en fonctionnel). Les implantations d'algorithmes dans les styles fonctionnel et impératif tiennent compte de ces différences. Le choix entre ces deux styles amène en fait à leur mélange. Celui-ci permet d'expliciter la représentation des fermetures, d'optimiser des parties cruciales d'applications et de créer des données fonctionnelles modifiables. La modification physique de valeurs dans l'environnement d'une fermeture permet de mieux comprendre ce qu'est une valeur fonctionnelle. Le mélange des deux styles donne des outils d'implantation puissants. Cela a été utilisé pour la construction de valeurs potentiellement infinies.