From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Pirotte Newsgroups: gmane.lisp.guile.bugs Subject: bug#20423: goops - inheritance of slot options Date: Tue, 12 Jul 2016 17:02:23 -0300 Message-ID: <20160712170223.7187b651@capac> References: <20150424230538.67db3eaa@capac> <87inwzlkme.fsf@pobox.com> <20160623200857.1e0d3e51@capac> <87por7jhxw.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/QDdRWnYP5wpKfu0hq7O0IcB"; protocol="application/pgp-signature" X-Trace: ger.gmane.org 1468353807 1124 80.91.229.3 (12 Jul 2016 20:03:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Jul 2016 20:03:27 +0000 (UTC) Cc: 20423@debbugs.gnu.org To: Andy Wingo Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Jul 12 22:03:17 2016 Return-path: Envelope-to: guile-bugs@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 1bN3tl-0003pG-6C for guile-bugs@m.gmane.org; Tue, 12 Jul 2016 22:03:17 +0200 Original-Received: from localhost ([::1]:43137 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN3tk-0002wO-6O for guile-bugs@m.gmane.org; Tue, 12 Jul 2016 16:03:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40356) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN3ta-0002md-OI for bug-guile@gnu.org; Tue, 12 Jul 2016 16:03:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bN3tW-0005cw-Q9 for bug-guile@gnu.org; Tue, 12 Jul 2016 16:03:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36410) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN3tW-0005cr-MO for bug-guile@gnu.org; Tue, 12 Jul 2016 16:03:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bN3tW-0006xY-Ge for bug-guile@gnu.org; Tue, 12 Jul 2016 16:03:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: David Pirotte Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 12 Jul 2016 20:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20423 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 20423-submit@debbugs.gnu.org id=B20423.146835375926722 (code B ref 20423); Tue, 12 Jul 2016 20:03:02 +0000 Original-Received: (at 20423) by debbugs.gnu.org; 12 Jul 2016 20:02:39 +0000 Original-Received: from localhost ([127.0.0.1]:48747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN3t9-0006wu-GF for submit@debbugs.gnu.org; Tue, 12 Jul 2016 16:02:39 -0400 Original-Received: from maximusconfessor.all2all.org ([79.99.200.102]:49595) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN3t7-0006wm-9o for 20423@debbugs.gnu.org; Tue, 12 Jul 2016 16:02:38 -0400 Original-Received: from localhost (unknown [192.168.0.2]) by maximusconfessor.all2all.org (Postfix) with ESMTP id 835C4A04C1AA; Tue, 12 Jul 2016 22:02:35 +0200 (CEST) Original-Received: from maximusconfessor.all2all.org ([192.168.0.1]) by localhost (maximusconfessor.all2all.org [192.168.0.2]) (amavisd-new, port 10024) with ESMTP id e+wdO7Gl-3oo; Tue, 12 Jul 2016 22:02:30 +0200 (CEST) Original-Received: from capac (unknown [179.210.32.105]) by maximusconfessor.all2all.org (Postfix) with ESMTPSA id D779FA04C1B7; Tue, 12 Jul 2016 22:02:29 +0200 (CEST) In-Reply-To: <87por7jhxw.fsf@pobox.com> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8298 Archived-At: --Sig_/QDdRWnYP5wpKfu0hq7O0IcB Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Andy, > > It actually is my intention, it has been for years, to study, dig into = and work > > on our GOOPS implementation and start to help maintain it ... if I only= had more > > time, I would have done it already. > > Till then we rely on you =20 > I don't have any time to devote to this, sorry :/ By 'we rely on you', I was referring to maintaining goops, which you do per= fectly well, thanks!: but you are maintaining an 'hybrid system' with no design, b= elieving it has, but that's not the case. Personal notes and an implementation are not, AFAIC, and far from being, a 'design'. Besides, with all due respect to the person(s) and his/her techn= ical abilities, it is obvious to me that he/her/they lack(s) a profound understa= nding of the domain, and hence this 'hybrid system' we have now breaks fundamental p= arts of the protocol it was [and still is, imo] supposed to follow. It breaks these fundamental parts of the protocol for no good reason, not a single one, and= the result is an order of magnitude inferior to what it could/should be. I also strongly believe these issues are actually easy to fix, for you, who deeply knows the implementation and recently fully reviewed it's source cod= e, so I don't believe time is the problem here: we disagree on what Goops was origi= nally meant to be and should be, and right now, I failed to convinced you to revi= sit your position, in the light of the above, the official design [clos], what Stklo= s and early Goops did implement. Too bad, because it is the right thing to do, for the good of all guilers, = not just me: this is why I spend my time still trying to convince you that what we h= ave is not good, and this is not good for Guile, imo. For users, this issue is easy to 'fix': just copy paste the slot def and lo= cally change what ever you need to change: 'un pl=C3=A2tre sur une jambe de bois'= , but at least it's easy to overcome this current limitation. Wrt this issue, Stklos and 'early' Goops was following and still should fol= low this design: > [*] A summary of what the clos protocol says: > > [ this is a copy/paste from a clos tutorial, also pointed by > [ the Stklos reference manual: > > [ http://www.aiai.ed.ac.uk/~jeff/clos-guide.html#slots > > When there are superclasses, a subclass can specify a slot that has alre= ady > been specified for a superclass. When this happens, the information in s= lot > options has to be combined. For the slot options listed above, either the > option in the subclass overrides the one in the superclass or there is a > union: > > :ACCESSOR - union > :INITARG - union > :INITFORM - overrides > > This is what you should expect. The subclass can change the default init= ial > value by overriding the :initform, and can add to the initargs and > accessors. > > However, the union for :accessor is just a consequence of how generic > functions work. If they can apply to instances of a class C, they can al= so > apply to instances of subclasses of C. (Accessor functions are generic.)= =20 Cheers, And thanks for the hard work anyway! One day we will agree, I sincerely hope so, for the good of Guile. David --Sig_/QDdRWnYP5wpKfu0hq7O0IcB Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJXhUzPAAoJEPN0/ZOjBXrXr6QIALZ6vI/21pVDsFFanZN6SZ1u pxdAf9x/ImcBhwsdTA1S465YT6kTiGqdRugelIY2GZlSSUDtjx6XhGEdP0wMWq94 Z8gV/0Tybr71XNAPceQpm11M6DSkrL88MVl7ii6YbtjkdCV3WYV14E/Q7Ou0XYy+ 3qKAQz0nKBImlSFSxJg9EQGV/MTBr3Nt+yNLKPheF8WYPP07G38krDBtM4IAgaxi MGtwedUp1oYV8zbV/YFyafaUA104uysDyw3oS1VKSIqoe/ej1Ak3eaerrV+9Dr9d epVVZub3c7eU4KarFLi5Ji5Dg/NGnRP/Xr37lGUyHUPp6Fb8boIy7KndcFcZuwI= =2dRy -----END PGP SIGNATURE----- --Sig_/QDdRWnYP5wpKfu0hq7O0IcB--