"> %%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">

Environnement de développement intégré portable pour Objectif 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é.
eclipse
Par ailleurs l'environnement de développement eclipse se développe de manière important. Son intérêt est d'avopir été dès le début conçu pour lui ajouter des fonctionnalités par un mécanisme de plugin. Eclipse est porté sur les principales plate-formes de développement (Windows, MacOSX, Linux, ...). Une deuxième version d'un plugin pour O'Caml a été réalisé au printemps dernier.
mono
mono est une plate-forme de développement en open source basée sur les spécifications de .NET. Il permet de construire des applications .NET pour Linux ou macosx.

Projet

Ce projet consiste en la réalisation d'un environnement de développement intégré portable pour O'Caml. Cette réalisation peut être découpée en deux parties : la première plus ingénierie et la deuxième plus recherche.
  1. une partie intégration qui consiste à développer un plugin  Eclipse pour O'Caml utilisant le compilateur ocamil en le ciblant vers mono;
  2. une partie développement d'outils de mise au point en ajoutant à ce plugin des fonctionnalités de trace et d'exploration des valeurs ocamil à l'exécution en profitant de l'information de type engendrée à la compilation.
La première partie devra d'une part porter le plugin précédent sur la dernière version d'eclipse et d'autre part adapter le compilateur ocamil à mono. On obtient ainsi un environnement de développement intégré portable.

La deuxième partie nécessite de formaliser la détermination de type O'Caml à partir du type IL (en fonction de l'information de typage transmise au compilateur) dans le but de développer un outil de mise au point (our explorer des donnnées et les modifier si besoin est) à intégrer dans le plugin.

Au final, on désire obtenir un outil pratique et utilisable pour le développement d'applications en Objective Caml.

Profil recherché

Le volume de travail pour chaque partie de ce projet est évalué à 5 mois pour un étudiant 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.