From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.user Subject: Re: SOS: Simple Object System Date: Wed, 24 Sep 2008 18:14:12 +0200 Message-ID: <87y71hseqz.fsf@gnu.org> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1222273115 1906 80.91.229.12 (24 Sep 2008 16:18:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 24 Sep 2008 16:18:35 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Sep 24 18:19:28 2008 connect(): Connection refused Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KiX4V-00049X-Ot for guile-user@m.gmane.org; Wed, 24 Sep 2008 18:18:36 +0200 Original-Received: from localhost ([127.0.0.1]:49782 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KiX3T-00058v-Jp for guile-user@m.gmane.org; Wed, 24 Sep 2008 12:17:31 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KiX0b-0002NJ-2n for guile-user@gnu.org; Wed, 24 Sep 2008 12:14:33 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KiX0Z-0002M1-Ci for guile-user@gnu.org; Wed, 24 Sep 2008 12:14:32 -0400 Original-Received: from [199.232.76.173] (port=53620 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KiX0Z-0002Lr-81 for guile-user@gnu.org; Wed, 24 Sep 2008 12:14:31 -0400 Original-Received: from main.gmane.org ([80.91.229.2]:51476 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KiX0Y-0004Kh-SP for guile-user@gnu.org; Wed, 24 Sep 2008 12:14:31 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1KiX0Q-0005Gj-C4 for guile-user@gnu.org; Wed, 24 Sep 2008 16:14:22 +0000 Original-Received: from 193.50.110.160 ([193.50.110.160]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 24 Sep 2008 16:14:22 +0000 Original-Received: from ludo by 193.50.110.160 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 24 Sep 2008 16:14:22 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 43 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 193.50.110.160 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 3 =?iso-8859-1?Q?Vend=E9miaire?= an 217 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: i686-pc-linux-gnu User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) Cancel-Lock: sha1:zR8fYn9JO8nshSxmUt60xyg7zQ4= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6811 Archived-At: Hi, "Maciek Godek" writes: > The other is that in GOOPS a method is something > different than what is commonly known in OOP, The design of GOOPS is based on that of CLOS, so GOOPS is surely familiar to anyone familiar with the CLOS flavor of OOP. :-) See http://en.wikipedia.org/wiki/CLOS for details. > because a class doesn't know its methods It does: guile> (length (class-methods )) $4 = 54 But unlike in C++, Java, etc., a method is not bound to the type of its first argument: method dispatching is done on all arguments and on the number of arguments as well. > There is also another issue concerning the fact that > methods are available in global namespace That's not quite true: the namespace, be it for GOOPS methods ("generics" actually) or "regular" Scheme objects, is managed by the module system. Thus, it is possible to hide generics (and, consequently, the methods they contain) from users, simply by not exporting them from the module where they are defined. > But the most important feature of OOP that is missed > in GOOPS (because of global namespace methods) is the lack > of the clean separation of interface and implementation > in the way it's done in java, C# and the like. See above. Does that lessen your concerns? Thanks, Ludovic.