unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: David Pirotte <david@altosw.be>
To: Mark H Weaver <mhw@netris.org>
Cc: guile-user@gnu.org
Subject: Re: #:getter procedure returns unexpected value in GOOPS
Date: Fri, 2 May 2014 01:36:07 -0300	[thread overview]
Message-ID: <20140502013607.65532c78@capac> (raw)
In-Reply-To: <8761lu8dg3.fsf@yeeloong.lan>

Hi Mark,

> Read this:
> 
>   http://clhs.lisp.se/Body/07_ec.htm

Perfect, thanks for the link and the confirmation.

Note that in the current implementation, guile's problem is not the [proper]
initialization of the inherited slot, as I did show and as you can check, slot-ref
works as expected on Diego's example.  One can also use describe for that matter
(oop goops describe) .. The problem is that getters, setters and accessors although
[merely] inherited are not properly recomputed.

Your temporary solution is nice, but only works if there is no need for a change
of the inherited slot allocation option, and would not solve the 'quantum
mechanic' slot states :) that my 'consider the following situation' example shows.

Therefore, in the mean time, I personally would recommend goops users to
redefine getters, setters and accessors they are using/plan to use on their
subclasse's instances, since it is currently the only way to 'force' guile to do
his job properly.

> Here's a transcript of an SBCL session I tried on Debian:

Yep, I've downloaded it too now, it's been a while I did not play with lisp :)  I
much prefer scheme and guile now.  But then I am not surprised they got it right,
for lispers clos is an old beast and  lisp implementations have, by far, much much
more code and many many more testers as well, indeed clos is so much more
used by lispers then goops by schemers.

Cheers,
David



  reply	other threads:[~2014-05-02  4:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-25 23:24 #:getter procedure returns unexpected value in GOOPS Diogo F. S. Ramos
2014-04-26 12:26 ` Neil Jerram
2014-04-26 17:35   ` Diogo F. S. Ramos
2014-04-26 22:19     ` David Pirotte
2014-04-26 22:58       ` Diogo F. S. Ramos
2014-04-27 22:14         ` David Pirotte
2014-04-27  1:15 ` Mark H Weaver
2014-04-27 22:14   ` David Pirotte
2014-04-28  1:12     ` Mark H Weaver
2014-05-02  4:36       ` David Pirotte [this message]
2015-03-09 21:58 ` Andy Wingo
2015-04-23 22:56   ` David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140502013607.65532c78@capac \
    --to=david@altosw.be \
    --cc=guile-user@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).