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 MAA08025; Wed, 26 Mar 2003 12:39:06 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA07916 for ; Wed, 26 Mar 2003 12:38:59 +0100 (MET) Received: from mwinf0401.wanadoo.fr (smtp3.wanadoo.fr [193.252.22.27]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h2QBcxX10798 for ; Wed, 26 Mar 2003 12:38:59 +0100 (MET) Received: from iliana (AStrasbourg-206-1-20-128.abo.wanadoo.fr [81.49.169.128]) by mwinf0401.wanadoo.fr (Postfix) with ESMTP id A47AA5800365; Wed, 26 Mar 2003 12:38:58 +0100 (CET) Received: from luther by iliana with local (Exim 3.36 #1 (Debian)) id 18y9FB-0001CW-00; Wed, 26 Mar 2003 12:38:57 +0100 Date: Wed, 26 Mar 2003 12:38:56 +0100 To: Alessandro Baretta Cc: Sven Luther , Ocaml Subject: Re: [Caml-list] camlimages vs. labltk Message-ID: <20030326113856.GA4522@iliana> References: <3E81640C.40009@baretta.com> <20030326083345.GA2985@iliana> <3E816C13.7040507@baretta.com> <20030326105006.GA3891@iliana> <3E818E08.2000505@baretta.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3E818E08.2000505@baretta.com> User-Agent: Mutt/1.5.4i From: Sven Luther X-Spam: no; 0.00; sven:01 luther:01 dpt-info:01 u-strasbg:01 caml-list:01 camlimages:01 labltk:01 alessandro:01 baretta:01 wisely:99 namespaces:01 dynamically:01 -pack:01 altough:01 mangling:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Wed, Mar 26, 2003 at 12:24:56PM +0100, Alessandro Baretta wrote: > > > Sven Luther wrote: > >On Wed, Mar 26, 2003 at 10:00:03AM +0100, Alessandro Baretta wrote: > > > >> > >>Sven Luther wrote: > > >>Sven, someone on this list wisely pointed out that you buy > >>nothing by telling someone else "You don't need that > >>feature". We do need namespaces. It might not be paramount: > > >As for side-effects, i didn't really think about that, but i guess that > >you could easily implement the modules so that the side effect do happen > >when you call a module initialization function or something such. I > >don't think it really is good practice to use toplevel global side > >effect for library code anyway. > > We now have a new language feature: it's called > You Don't Need It (TM), patent pending ;) Hey, you don't need to be sarcastic. Tell me a legitimate reason to use side-effects in library top-level would you, especially if you think that such a library may in the future be shared, dynamically loaded and such. > >>So -pack is good, but > >>namespaces are still a necessary feature to Ocaml as to any > >>industrial level programming language. > > > > > >No, the namespace feature is already there, altough not much used in > >reality, the problems are elsewhere. > > Modules are a very powerful theoretical instrument with a > profound algebraic meaning, rooted in category theory. This > is all very good, and I appreciate it. But namespaces are > something _ELSE_. And they too are a good thing to have. Why > don't we just stop this "You don't need it thing" about any > language feature we don't already have. Ocaml is a cool > language. It's my primary language for developing business > applications. I earn a living with it. I know what I need > and what I don't need. Namespaces are a useful tool, aside > from the algebraically based module system: they simply > provied a means for mangling module names so as to avoid > name clashes. So please tell me, what is it that namespace give you that the module system don't provide already ? And what is the point in mangling module names ? Do you really prefer a LabltkImage module over Labltk.Image ? Which one makes more sense to you ? > There are many different ways of implementing a namespace > system. We need to think of an implementation orthogonal to > the module system, so as to add functionality without > introducing conflicts with the module system. I would > appreciate a lot more a -namespace option to ocamlmklib than > a -pack option to ocamlc. This feature would have to go with Ok, you would want to have the pack option done at library generation time, i agree with you, i don't really like the way it is currently done (to generate a huge .cmo from multiple ones), and much would prefer to have a .cma generated from multiple .cmo, with the -pack option (or the -namespace, or whatever you would call it). Ideally, this would be the default, so we would not have to worry about libraries not doing it. > such additional language constructs such as an "in" operator > for namespace resolution. Such language constructs have What about the '.' ? Like in Labltk.Image ? > already been implemented as camlp4 syntax extensions and are > already available out there. Sure, but this is just syntax, what is important here is not so much what you call it, but what it does. Friendly, Sven Luther ------------------- 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