Browse thread
[Caml-list] generic programming
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Ketanu <ketanu@w...> |
| Subject: | [Caml-list] Re: generic programming |
Oleg <oleg_inconnu@myrealbox.com> writes: > Hi > > Is generic programming possible with O'Caml? Suppose I want to find the > Pearson correlation between two sets of real numbers represented as sets, > arrays, big_arrays, maps, stacks, queues or lists. Is it possible to have > one piece of code that handles all of these containers, a generic function > of some sort? (Iteration is all that is necessary in the Pearson > correlation example) Sure it is possible ! You should embed all these containers into either objects or modules whith homogenous interface suitable for your algorithm, and then code thge appropriate functor or object which will provide the algorithm itself. You may also build streams on the top of your structures and implement algorithm for strams (if this is suitable with the kind of iteration you need). You may also write a function pearson_correlation with the four arguments set1 set2 iter1 iter2, with types set1:'a set2:'b iter1:'a -> int -> float iter2:'b -> int -> float where the iter1,2 functions must provide iteration over the containers set1,2 (thus, the types for iter1,2 mas need to be adapted to your iteration). Hope it helps ! -- Ketanu <katanu@wanadoo.fr> - RSA PGP Key ID: 0x20D90C12 ------------------- 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