caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Peut on unifier foncteurs et objets ?
@ 2004-08-06 10:14 Diego Olivier Fernandez Pons
  2004-08-05 23:48 ` Christophe Raffalli
  2004-08-06 15:29 ` John Prevost
  0 siblings, 2 replies; 4+ messages in thread
From: Diego Olivier Fernandez Pons @ 2004-08-06 10:14 UTC (permalink / raw)
  To: caml-list

    Bonjour,

Il y a régulièrement sur la liste Caml des discussions au sujet des
mérites respectifs des foncteurs par rapport aux objets et des
possibilités d'extensions (méthodes polymorphes, modules de première
classe, etc.)

La redondance entre le système de modules/foncteurs et celui des
objets n'est pas à mon avis tant le problème. Après tout le
programmeur Caml doit déjà se décider entre :
- structures de données éphémères ou persistantes
- boucles ou récursion
- f = fun x y -> ou f x = function ... ->
- if ou match ... with
- fonctions récursives à plusieurs arguments ou application partielle
(ex. map)
- types somme ou variantes polymorphes
- types somme ou enregistrements
- etc.

Ce qui est nettement plus ennuyeux quand on passe du premier jet de
code (sous forme de module) à un foncteur, puis on change pour un
objet (pensant utile de changer son comportement à l'exécution), puis
on revient au foncteur (car non, c'est mieux d'abstraire), etc. c'est
qu'on a _vraiment_ l'impression de ne faire que du copier/coller.

Mes foncteurs c'est mon module initial dans lequel j'ai remplacé
'compare' par 'M.compare', mes objets c'est mon module initial auquel
j'ai ajouté une capsule ne contenant que des 'method f = {< obj = f
obj >}'

Je ne connais certainement pas grand chose aux questions de typage, de
compilation ou d'abstraction mais je me demande bien pourquoi Caml ne
peut il pas faire le gros du copier/coller à ma place en offrant une
notion plus ou moins unifiée (avec un simple mot cle pour changer le
comportement désiré ou quelque chose du genre).


        Diego Olivier


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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-08-06 15:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-06 10:14 [Caml-list] Peut on unifier foncteurs et objets ? Diego Olivier Fernandez Pons
2004-08-05 23:48 ` Christophe Raffalli
2004-08-06 15:29 ` John Prevost
2004-08-06 15:43   ` Diego Olivier Fernandez Pons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).