From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Marko Rauhamaa Newsgroups: gmane.lisp.guile.user Subject: Re: Modules and GOOPS Date: Fri, 29 Jul 2016 21:00:42 +0300 Message-ID: <87h9b8fho5.fsf@elektro.pacujo.net> References: <20160728181425.5f167237@capac> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1469815316 23589 80.91.229.3 (29 Jul 2016 18:01:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Jul 2016 18:01:56 +0000 (UTC) Cc: guile-user@gnu.org, David Pirotte To: Kovacsics =?utf-8?Q?R=C3=B3bert?= Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Jul 29 20:01:53 2016 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 1bTC6b-0000fe-1Y for guile-user@m.gmane.org; Fri, 29 Jul 2016 20:01:53 +0200 Original-Received: from localhost ([::1]:60900 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTC6V-0001hs-3z for guile-user@m.gmane.org; Fri, 29 Jul 2016 14:01:47 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTC5e-0001Lw-TJ for guile-user@gnu.org; Fri, 29 Jul 2016 14:00:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTC5d-0006TD-17 for guile-user@gnu.org; Fri, 29 Jul 2016 14:00:53 -0400 Original-Received: from [2001:1bc8:1a0:5384:7a2b:cbff:fe9f:e508] (port=57754 helo=pacujo.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTC5c-0006ST-Pv for guile-user@gnu.org; Fri, 29 Jul 2016 14:00:52 -0400 Original-Received: from elektro.pacujo.net (192.168.1.200) by elektro.pacujo.net; Fri, 29 Jul 2016 21:00:42 +0300 Original-Received: by elektro.pacujo.net (sSMTP sendmail emulation); Fri, 29 Jul 2016 21:00:42 +0300 In-Reply-To: ("Kovacsics =?utf-8?Q?R=C3=B3bert=22's?= message of "Fri, 29 Jul 2016 18:00:00 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.95 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:1bc8:1a0:5384:7a2b:cbff:fe9f:e508 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.lisp.guile.user:12808 Archived-At: Kovacsics R=C3=B3bert : > Thank you, I am still thinking in Java terms at the moment. > > [...] > > But this is a very classes-contain-methods approach and given what you > said, makes me think that I'm doing this wrong thing. I'm thinking GOOPS is the wrong thing here. A better, more Schemey way is hiding in plain sight. Look at how ports are created and manipulated. You have a rich set of methods that take the best from Scheme and the classic object/method paradigm, eg: (with-output-to-string thunk) (with-input-from-file filename thunk) (port-filename port) (close-port port) More generally, take a look at and how MAKE-CELL has been defined. That's true OOP without classes or slots. Marko