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: Thu, 23 Jun 2016 20:08:57 -0300 Message-ID: <20160623200857.1e0d3e51@capac> References: <20150424230538.67db3eaa@capac> <87inwzlkme.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/t9T3.iBt1ARxg4B489x+ZLt"; protocol="application/pgp-signature" X-Trace: ger.gmane.org 1466723430 22696 80.91.229.3 (23 Jun 2016 23:10:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 23 Jun 2016 23:10:30 +0000 (UTC) Cc: 20423@debbugs.gnu.org To: Andy Wingo Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Fri Jun 24 01:10:18 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 1bGDlJ-0003OQ-HS for guile-bugs@m.gmane.org; Fri, 24 Jun 2016 01:10:17 +0200 Original-Received: from localhost ([::1]:39944 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGDlF-000507-LS for guile-bugs@m.gmane.org; Thu, 23 Jun 2016 19:10:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40453) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGDl8-0004yi-Oi for bug-guile@gnu.org; Thu, 23 Jun 2016 19:10:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bGDl4-0005mb-Mf for bug-guile@gnu.org; Thu, 23 Jun 2016 19:10:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:40781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGDl4-0005mX-Ji for bug-guile@gnu.org; Thu, 23 Jun 2016 19:10:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bGDl4-000334-FJ for bug-guile@gnu.org; Thu, 23 Jun 2016 19:10:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: David Pirotte Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 23 Jun 2016 23:10: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.146672336011663 (code B ref 20423); Thu, 23 Jun 2016 23:10:02 +0000 Original-Received: (at 20423) by debbugs.gnu.org; 23 Jun 2016 23:09:20 +0000 Original-Received: from localhost ([127.0.0.1]:53118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGDkO-000323-Fa for submit@debbugs.gnu.org; Thu, 23 Jun 2016 19:09:20 -0400 Original-Received: from maximusconfessor.all2all.org ([79.99.200.102]:58255) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bGDkM-00031u-DW for 20423@debbugs.gnu.org; Thu, 23 Jun 2016 19:09:19 -0400 Original-Received: from localhost (unknown [192.168.0.2]) by maximusconfessor.all2all.org (Postfix) with ESMTP id 95D98A04C0E0; Fri, 24 Jun 2016 01:09:16 +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 IY0r8rrFyT5y; Fri, 24 Jun 2016 01:09:11 +0200 (CEST) Original-Received: from capac (unknown [179.210.35.216]) by maximusconfessor.all2all.org (Postfix) with ESMTPSA id DB1EBA04C00F; Fri, 24 Jun 2016 01:09:10 +0200 (CEST) In-Reply-To: <87inwzlkme.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:8191 Archived-At: --Sig_/t9T3.iBt1ARxg4B489x+ZLt Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Andy, > For what it's worth this is a part of GOOPS's design AFAIU: all slot > definitions are unique. Two slots named S declared on classes A and B > are distinct, even if A is a superclass of B. Well, as I explained in the original report, the only specification we have= is CLOS: Stklos, upon which Guile GOOPS is based, clearly state in its manual, among= the first paragraphs, that it implements the CLOS protocol [a subset]: there is= no 'redesign' anywhere in Stlkos [it just lacks :before and :after methods AFA= ICT]. AFAICT, there is no Guile 'official' document stating clearly, neither in t= he manual, that GOOPS authors decided to redesign this part of the protocol an= d why... is there? It seems to me, in this rather unfortunate case, that you take for a 'desig= n' or a 'redesign', what was actually a great implementation to start with, no doub= t, but which has these bugs, implementation bugs, not design decisions. > I don't know if we can change this. I guess maybe. There would have to > be a design though. I guess fleshing out the `compute-slots' protocol > from http://www.alu.org/mop/concepts.html#class-finalization-protocol > would be the thing. Not sure what you mean by 'we can't change this', but I hope/think it can b= e fixed, technically I don't see what could prevent this to be done since Stklos doe= s the right thing... [I'm pretty sure gauche does the right thing too, and in any= case, all CLOS implementation do]. Maybe you are referring to some C part of the = code I'm not aware of that would effectively prevent a fix, don't know... > I believe that technically you can already provide your own > `compute-slots' implementation, but you are probably missing some > definitions that would help you do so in a compatible manner. Check it > out for yourself and give it a go, no need to wait on Guile people :) Right: if you want it right do it yourself ... :)=20 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 mo= re time, I would have done it already. Till then we rely on you, And even though I could do it 'right now' we'd st= ill have, unless selfish my own implementation in my little corner, still have to agr= ee upon the design reference document(s) GOOPS has been/should be based upon: and I want GOOPS to follow the CLOS protocol, for its entire subset, not j= ust for me, but any Guilers, and especially the one that will learn oop using GOOPS; the above, especially for getters, setters, accessors inheritance _and_ th= is bug, slot redefinition. So, rather then being a technical problem, we strongly disagree, unfortunat= ely, on what GOOPS protocol should implement, don't you think it would be better to= follow the CLOS protocol? Could you list what you consider a win, for humanity :), in blocking slot option redefinition and inheritance to be blocked? Could we talk to the original GOOPS author, and if so, would you be convinced, if he confirms of course, that all these are bugs and not design decisions? All this said, I wonder, before I start :), if the still C part of the code= would prevent me to patch GOOPS so it fully respect the CLOS protocol? Thanks, David --Sig_/t9T3.iBt1ARxg4B489x+ZLt Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJXbGwJAAoJEPN0/ZOjBXrXXOQIAJzkhlzPVRvkFbty7E8u7fcY Sy7dnqKxpMJUPnxH478Sc5z68NbEi9tWS9QznSm8cskaIPGZaUMtxB7ovFpa0wUA GRo4WCqQWvKF49glthu48VGC5DkPNkLZfbsCS70RqbE4APmTdD5w+wzHACcvVo6F 6sXqIVX6a3DikYRtNQl2D7BEwSgqF1Ig5xXQQFiO9PgQ1qJUbQqYG30wFybhMiA7 fs9r8Iuyja/2o22zFXqyCx4Wr1mZoTIp16epYF08kkdaOTTo5+Q6WVqhVl3FJ19U Tu+7qaggcWc/bXLnPIYJT0/8ARQvGNROPZlzG1UMDufNVQVe0OwGPfSoe4H2BGQ= =nCDC -----END PGP SIGNATURE----- --Sig_/t9T3.iBt1ARxg4B489x+ZLt--