From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.devel Subject: Re: New module system option :duplicates Date: Mon, 10 Mar 2003 18:14:28 -0600 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87adg2kbdn.fsf@raven.i.defaultvalue.org> References: <878yvrxhp1.fsf@raven.i.defaultvalue.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1047341764 17087 80.91.224.249 (11 Mar 2003 00:16:04 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 11 Mar 2003 00:16:04 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Mar 11 01:16:02 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18sXR3-0004RQ-00 for ; Tue, 11 Mar 2003 01:16:01 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18sXRD-0004xV-05 for guile-devel@m.gmane.org; Mon, 10 Mar 2003 19:16:11 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18sXQq-0004li-00 for guile-devel@gnu.org; Mon, 10 Mar 2003 19:15:48 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18sXQG-0004CG-00 for guile-devel@gnu.org; Mon, 10 Mar 2003 19:15:17 -0500 Original-Received: from dsl093-098-016.wdc1.dsl.speakeasy.net ([66.93.98.16] helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18sXPa-0003Hn-00 for guile-devel@gnu.org; Mon, 10 Mar 2003 19:14:30 -0500 Original-Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id 6957E13DF9; Mon, 10 Mar 2003 18:14:28 -0600 (CST) Original-Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 4B606DE912; Mon, 10 Mar 2003 18:14:28 -0600 (CST) Original-To: djurfeldt@nada.kth.se In-Reply-To: (Mikael Djurfeldt's message of "Tue, 11 Mar 2003 00:38:21 +0100") User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:2062 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:2062 Mikael Djurfeldt writes: >> Why would x in (math 2D-vectors) be able to see the methods of x in >> (my-module)? Isn't that a violation of modularity? The reverse I >> understand. > > Think about dynamic method dispatch. A `paint' method in a generic > graphics package need to see subclasses provided by modules importing > the generic package. Hmm. Though I haven't thought carefully about it yet, that still feels like somewhat a modularity violation to me. Say you have a working module called (math-frob) that defines/uses some generic-function, say "do-fancy-+", that at the time (foo random) was designed only had a method for ((x ) (y )) arguments. Then say someone writes module (bar) that defines do-fancy-+ for ((x ) (y )) arguments, but does it in a way that's not compatibile with the do-fancy-+ usages in (foo random). If someone does (use-modules (foo random)) (use-modules (bar)) then is (foo random) now broken, and if so, is that to be expected/OK? i.e. does this just fall under the "well don't do that then" category? (I still need to go look and see how CLOS handles such a situation...) -- Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel