english version
COCA-ML
coca-ml est une extension syntaxique du langage ocaml 3-06 incluant camlp4 qui
autorise le "down cast" des objets entre classes qui sont en
relation de sous-typage et
en relation d'heritage (sous-héritage).
Attention la version courante est la 0.2a06, c'est juste une adaptation aux nouveaux traits de camlp4.
L'idee principale est d'introduire la relation de sous-héritage au niveau des déclarations de classes.
Description
Voir cet
article (en francais) pour une description plus complète.
Cette extension introduit sept nouvelles constructions syntaxiques :
- déclaration de classe
- prédicats
|
"of"
|
"instanceof"
|
"instanceof and subtype"
|
Syntax |
expr of c
|
expr instanceof c
|
expr subinstanceof c
|
Typing |
bool |
bool |
bool |
Evaluation |
true ou false |
true ou false |
true ou false |
- contraintes de types
|
"cast"
|
"upcast"
|
"downcast"
|
Syntax |
cast expr to c2
|
upcast expr from c1 to c2
|
downcast expr from c1 to c2
|
Typing |
c2 |
c2 |
c2 |
Evaluation |
valeur de expr |
valeur de expr |
valeur de expr |
Exemples
Il y a des exemples plus complets dans la distribution.
Récentes modifications
- version pour O'Caml 3.06 (27/9/2002)
- version pour o'caml 3.04 (22/1/2002)
- nouvelle version 0.2a (10/12/2001)
- ancienne version v0-1
Distribution
distribution :
cocaml-0.2a06.tar
utilisant O'Caml 3.06
ou
cocaml-0.2a04.tar
utilisant O'Caml 3.04
ou
cocaml-0.2a.tar utilisant
O'Caml 3.02 et
camlp4 3.02
Mise à jour : 16 octobre 2005