Le problème du mot polymorphisme, c'est qu'il est surchargé ;-).
OCaml fait du polymorphisme au sens où tu peux avoir par exemple une fonction sort de type 'a list -> 'a list, et le 'a est défini au moment de l'appel. C'est grosso-modo l'équivalent des templates de C++.
Il y a aussi des fonctions virtuelles dans les objets, ce qui est en général connu sous le nom de polymorphisme, ou liaison dynamique en C++.
Mais c'est vrai qu'il y a des limitations dans l'orienté objet en OCaml. Par exemple, dynamic_cast<...>(...) n'existe pas, enfin pas sous cette forme.
[^] # Re: Classique
Posté par Matthieu Moy (site web personnel) . En réponse au journal Quel langage pour s'amuser ?. Évalué à 4.
OCaml fait du polymorphisme au sens où tu peux avoir par exemple une fonction sort de type 'a list -> 'a list, et le 'a est défini au moment de l'appel. C'est grosso-modo l'équivalent des templates de C++.
Il y a aussi des fonctions virtuelles dans les objets, ce qui est en général connu sous le nom de polymorphisme, ou liaison dynamique en C++.
Mais c'est vrai qu'il y a des limitations dans l'orienté objet en OCaml. Par exemple, dynamic_cast<...>(...) n'existe pas, enfin pas sous cette forme.