Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Peut on unifier foncteurs et objets ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Christophe Raffalli <christophe.raffalli@u...>
Subject: Re: [Caml-list] Peut on unifier foncteurs et objets ?

Pour faire (vraiment trop) simple, OUI:

Si on oublie un peu le typage (pas pour longtemps)

- Un module c'est un record + des existentiels pour les types abstraits.
- Il faut aussi un epsilon de Hilbert pour interpréter le M.t quand t 
est un type et pour pouvoir ainsi écrire des contraintes de types.
- Un foncteurs n'est alors qu'une fonction + des contraintes de types.
- Un object n'est qu'un record récursifs (à cause du self) (il faut 
aussi un peu de sucre syntaxique pour la surcharge et l'héritage et 
quelques décisions quant à leur sémantique).

Le pb c'est le typage, mais si l'on abandonne la décidabilité, il suffit 
d'une extension de système F: système ST (voir mes deux papiers sur ma 
page et la thèse a venir (6 mois ?) de Frédérique Ruyer qui sera 
précisément sur ce sujet).

En plus dans le système que l'on propose et que l'on va implanter, on 
pourra aussi spécifier les programmes (de toutes façons, pour écrire 
toutes les contraintes de types dont on a besoin, il faut  presque tout 
système ST, et si on prends tout, on peut spécifier et prouver).


-- 
Christophe Raffalli
Université de Savoie
Batiment Le Chablais, bureau 21
73376 Le Bourget-du-Lac Cedex

tél: (33) 4 79 75 81 03
fax: (33) 4 79 75 87 42
mail: Christophe.Raffalli@univ-savoie.fr
www: http://www.lama.univ-savoie.fr/~RAFFALLI
---------------------------------------------
IMPORTANT: this mail is signed using PGP/MIME
At least Enigmail/Mozilla, mutt or evolution
can check this signature
---------------------------------------------

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners