module aggregation

Franck Delaplace (delapla@lami.univ-evry.fr)
Thu, 13 Jun 1996 09:09:58 +0200

Date: Thu, 13 Jun 1996 09:09:58 +0200
From: Franck Delaplace <delapla@lami.univ-evry.fr>
To: caml-list@pauillac.inria.fr
Subject: module aggregation

I want to aggregate two modules in one in order
to improve some standard modules or some module
define by functors . How can I do this in Ocaml ?

for instance I want to have a function
which gives a list of cartesian product of l1 l2

let cartesian_map f l1 l2 = List.flatten (List.map (fun(a)-> List.map (f a) l2) l1);;

val cartesian_map : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list = <fun>

and I would like to call it List.cartesian_map

I have also the same problem for module defined by Functor
I want to add some specific functions once the module is defined.

Thank you

---

Franck Delaplace. Tel: +33 (1) 6947 7463 email : delapla@lami.univ-evry.fr

LAboratoire de Mathematiques et d'Informatique (LAMI)
Equipe Parallelisme (http://perdiguier.univ-evry.fr:8004/parall/)

Universite d'Evry Val d'Essonne
Cours Monseigneur Romero
91025 EVRY CEDEX (FRANCE)