Projet : PARA

previous up next contents
Précédent : Détection de blocage dans le Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et


   
Langages de programmation fonctionnels



Participant : Damien Doligez.

D. Doligez participe activement à l'effort de maintenance et d'extension du langage Objective Caml (projet CRISTAL). Il a travaillé au portage sur Macintosh, avec l'écriture d'une nouvelle interface utilisateur.

Il a aussi implémenté deux extensions au glaneur de cellules d'Objective Caml: les pointeurs faibles et le compactage de la mémoire. Les pointeurs faibles (réalisés à la demande des implémenteurs du join-calcul) sont des références que le GC a le droit d'effacer pour récupérer de la mémoire. Ils sont utiles pour implémenter des caches dans certaines situations, notamment pour la transmission de données sur le réseau.

Le compactage de la mémoire a permis au GC d'éviter la fragmentation de la mémoire, qui est un défaut majeur de l'algorithme à balayage utilisé dans Ocaml. Le compactage permet donc d'écrire des programmes à longue durée de vie en O'Caml sans voir leur consommation de mémoire augmenter indéfiniment. Quelques exemples de tels programmes sont: le navigateur MMM, le proxy Web V6, et l'araignée ``aspirateur'', écrits par François Rouaix (projet CRISTAL), les processus serveurs qui constituent l'environnement d'exécution réparti du join-calcul, et les "démons" du système Ensemble de Mark Hayden à Cornell (Ensemble est une boîte à outils de communication réseau écrite en O'Caml).

D. Doligez a aussi participé au travail sur la bibliothèque standard de O'Caml: gestion des noms de fichiers, lecture des arguments de la ligne de commande, implémentation simple de structures de données paresseuses; et à l'effort de réflexion sur la syntaxe du langage et le typage des fonctions de la bibliothèque.



previous up next contents
Précédent : Détection de blocage dans le Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et