From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA32188 for caml-redistribution; Fri, 19 Nov 1999 14:33:40 +0100 (MET) 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 VAA14100 for ; Thu, 18 Nov 1999 21:08:35 +0100 (MET) Received: from opus.davidb.org (adsl-216-103-8-60.dsl.sndg02.pacbell.net [216.103.8.60]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id VAA04733 for ; Thu, 18 Nov 1999 21:08:34 +0100 (MET) Received: (from davidb@localhost) by opus.davidb.org (8.9.3/8.9.3/Debian/GNU) id MAA04162; Thu, 18 Nov 1999 12:08:32 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14388.23744.409028.106149@opus.davidb.org> Date: Thu, 18 Nov 1999 12:08:32 -0800 (PST) To: caml-list@inria.fr Subject: RE: Undefined labels In-Reply-To: <199911171001.LAA26208@yana.inria.fr> References: <783D93998201D311B0CF00805FEAA07B7E8FE5@RED-MSG-42> <199911171001.LAA26208@yana.inria.fr> X-Mailer: VM 6.71 under 21.1 (patch 8) "Bryce Canyon" XEmacs Lucid From: David Brown Sender: weis Gerard Huet writes: > open is a facility that is convenient to the programmer because the code is > uncluttered with long explicit names, but it is of course a source of bugs. > The addition of a new binding in a module may change drastically the > semantics of modules which open it, in a way that stays unnoticed if types > match. One feature I like of Python and Erlang is a selective import. It is possible to specify only the items that you would like imported from a module. If you use the selective open, the open declaration itself states which symbols come from that module. Since the scope is explicit, it makes it easy to tell where something is coming from. I'm not familiar with the parser too much, but perhaps something like: open (bleep, bloop, SubMod) Module;; There probably should also be a way to open all of the constructors of a type. Dave Brown