">
%%http://www.infop6.jussieu.fr/lmd/2004/licence/ue/prec-2004oct/licence2004.css">
%%%
%%
%%href="licence.css">
%%href="http://www.infop6.jussieu.fr/licence/2003/licence2003.css">
Compilation paramétrée d'Objective Caml
Emmanuel Chailloux
Présentation générale
Objective Caml
Objective Caml, dévéloppé à l'Inria (
O'Caml ), est l'un des dialectes ML les plus connus. Ses qualités d'expressivité,
de sûreté et d'efficacité sont appréciées par une communauté de programmeurs
en nombre croissant. Pour améliorer sa diffusion on cherche à le doter
d'un environneement de développement intégré portable sur les plate-formes
de développement classiques (Windows, macosx, Linux).
ocamil
Le compilateur expérimental
ocamil permet d'étudier l'intérêt de la plate-forme d'exécution
.NET pour les langages fonctionnels statiquement typés. Plusieurs
publications décrivent les techniques employées
pour obtenir un compilateur complet d'OCaml qui engendre du code MSIL géré.
La nouvelle version ocamil utilise une partie de l'information
issue de la phase de typage pour produire un code optimisé de plus haut niveau.
Cette information de types est embarquée dans les différents langages intermédiaires du compilateur jusqu'à la phase de génération de code.
Projet
Ce projet consiste à addapter le compilateur ocamil à la plate-forme d'exécution Java (JVM). Ce travail est découpé en 4 parties :
-
une partie paramétrisation du compilateur ocamil pour cibler
différentes plate-formes d'exécution. Une partie de ce travail a déjà été
effectué pour la cohabitation de deux versions de génération de code vers .NET.
- une spécification du système de types de la bibliothèque d'exécution Java
pour ocamil et de la compilation des principaux traits (contrôle et données).
- une partie implantation comprenant la réalisation de la bibliothèque d'exécution Java et de la compilation effectives vers celle-ci permettant d'obtenir un compilateur complet d'O'Caml vers Java.
- une partie évaluation permettant de valider les choix techniques.
Au final, on désire valider la démarche utilisée pour ocamil avec
la plate-forme .NET, ajouter une plate-forme cible pour le compilateur ocamil et comparer les plate-formes JVM et .NET.
Profil recherché
Le volume de travail de ce projet est évalué entre 4 à 6 mois pour
étudiants de M2.
Il est clair que connaître les langages O'Caml et Java est nécessaire
et qu'avoir suivi un cours de compilation est un plus.
Contact
Emmanuel Chailloux
Equipe PPS
Université Paris 6
175, rue du Chevaleret
75013 Paris
tél : 01 44 27 6 199
mél : Emmanuel.Chailloux@pps.jussieu.fr
web : http://www.pps.jussieu.fr/~emmanuel
This document was translated from LATEX by
HEVEA.