From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA22224; Sun, 28 Jul 2002 23:45:03 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA22253 for caml-list@pauillac.inria.fr; Sun, 28 Jul 2002 23:45:03 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA18602 for ; Sun, 28 Jul 2002 16:14:44 +0200 (MET DST) Received: from sarg.ryerson.ca (sarg.ryerson.ca [141.117.18.117]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g6SEEgD22642; Sun, 28 Jul 2002 16:14:43 +0200 (MET DST) Received: from sarg.ryerson.ca (dmason@localhost) by sarg.ryerson.ca (8.11.2/8.11.2) with ESMTP id g6SEEeE06512; Sun, 28 Jul 2002 10:14:41 -0400 Message-Id: <200207281414.g6SEEeE06512@sarg.ryerson.ca> To: Xavier Leroy Cc: caml-list@inria.fr Subject: [Caml-list] on the design of Dynlink User-Agent: EMH/1.10.0 SEMI/1.13.7 (Awazu) CLIME/1.13.6 (=?ISO-2022-JP?B?GyRCQ2YlTj4xGyhC?=) MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (alpha-redhat-linux) MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu") Content-Type: text/plain; charset=US-ASCII Date: Sun, 28 Jul 2002 10:14:40 -0400 From: Dave Mason Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk I am curious about a design feature of Dynlink. Assume module C uses module B and module B uses module A. If A loads B and C, then it seems that C can see all of A and everything it depends on. This seems like a very unfortunate outcome, because it means (for example) that C can now use Dynlink itself to load things, and there is no way for A or B to provide an interface to hide things from the modules that (transitively) use them. Now, I understand how to work around this (provide a Registry module that A calls to register the functions that it wants to provide to B and C and then they call the Registry to get those values). But that is not a very intuitive style, and can make it difficult to extend B in a completely general way unless, for each module B, I provide a B'Registry and always load the pair. Have I misunderstood something, or if I have it right, is there any hope for this to work differently in future? Thanks ../Dave ------------------- 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