From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Carlos Pita Newsgroups: gmane.lisp.guile.user Subject: Re: A couple of questions about goops method parameters Date: Fri, 05 Sep 2014 09:47:50 -0300 Message-ID: <87y4tyi689.fsf@gmail.com> References: <1409905923.9245.5.camel@Renee-desktop.suse> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1409921753 27296 80.91.229.3 (5 Sep 2014 12:55:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Sep 2014 12:55:53 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Sep 05 14:55:46 2014 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XPt3K-0007oz-3u for guile-user@m.gmane.org; Fri, 05 Sep 2014 14:55:46 +0200 Original-Received: from localhost ([::1]:57610 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XPt3J-0006V7-N0 for guile-user@m.gmane.org; Fri, 05 Sep 2014 08:55:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XPt2r-0006Tw-0M for guile-user@gnu.org; Fri, 05 Sep 2014 08:55:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XPt2g-0006Z7-I3 for guile-user@gnu.org; Fri, 05 Sep 2014 08:55:16 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:59644) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XPt2g-0006T0-Bl for guile-user@gnu.org; Fri, 05 Sep 2014 08:55:06 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XPt2d-0007Hn-Ec for guile-user@gnu.org; Fri, 05 Sep 2014 14:55:03 +0200 Original-Received: from 181.228.217.164 ([181.228.217.164]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 05 Sep 2014 14:55:03 +0200 Original-Received: from carlosjosepita by 181.228.217.164 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 05 Sep 2014 14:55:03 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 30 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 181.228.217.164 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.93 (gnu/linux) Cancel-Lock: sha1:fiw/5Rhk1owpGqbDhBzvQiW6zSg= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11457 Archived-At: Hi Nala, > IMO, when you have lambda*, you never need define-method. Actually, I > want to say, once you have such FP features, you don't need OOP > anymore. I really don't see classes and multimethods a la CLOS competing against FP features. They are about certain ways of composing structures and providing common functional interfaces to them (and so, about certain ways of dispatching function calls). They don't promote mutability. They don't promote packaging data and methods in rigid ways. They just capture a pattern that would be cumbersome to implement by hand each time (even with the help of metaprogramming). I don't care about "everything is an object" stuff, but I do care about using the right tool for the problem at hand, and it feels good when the problem is a frequent one and the tool already exists. > You can mix them while programming, but you don't have to. Anyway, if >you try to avoid to use GOOPS someday, you have to handle dispatching >by yourself. ;-) You see. There could be cases for which goops dispatching were not good enough, I can't say it for sure. But multimethods are an incredible flexible mechanism and you still have the mop to tweak, so I will write my own dispatching code and "meta-code" only as a last LAST resource. Best regards -- Carlos