unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* goops proposal: proper struct classes
@ 2011-05-01 20:19 Andy Wingo
  2011-05-05 16:35 ` Ludovic Courtès
  2011-11-22 22:23 ` Andy Wingo
  0 siblings, 2 replies; 6+ messages in thread
From: Andy Wingo @ 2011-05-01 20:19 UTC (permalink / raw)
  To: guile-devel

Hello all,

If you know GOOPS, then you know that we have classes, rooted at
<class>.  And indeed <class> shows up a lot in documentation and in
code.  But that's not how it is in CLOS: our <class> corresponds to
their `standard-class'.  They have a superclass, called `class', which
is the real root, and from which e.g. structure classes are derived.

We need to do this.  Currently, class-of on a struct/record data type
gives a useless class that can't instantiate instances, doesn't know its
slots, and does not reflect the vtable hierarchy.

So we need a <basic-class>, interposed between <class> and <object>,
which will be the real root of our class meta-object hierarchy.

I noticed this while fixing some weak hash table-related bugs today, and
I saw set-struct-vtable-name!, which ends up causing some crazy stuff to
happen (exporting a stub class from (oop goops)), and noticed how wrong
all this was.

Comments?

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-11-22 22:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-01 20:19 goops proposal: proper struct classes Andy Wingo
2011-05-05 16:35 ` Ludovic Courtès
2011-05-05 18:25   ` Andy Wingo
2011-05-05 20:19     ` Ludovic Courtès
2011-05-05 20:39       ` Andy Wingo
2011-11-22 22:23 ` Andy Wingo

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).