unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* heads up: goops class export
@ 2011-05-01 20:32 Andy Wingo
  2011-05-03  8:50 ` Ludovic Courtès
  2011-07-01 10:03 ` Andy Wingo
  0 siblings, 2 replies; 6+ messages in thread
From: Andy Wingo @ 2011-05-01 20:32 UTC (permalink / raw)
  To: guile-devel

Hello again,

Currently when you define a SMOB type or set a name on a vtable, a
corresponding class is automatically exported from (oop goops).  This
breaks modularity, and I think we should stop doing it in 2.2.

I will make this change at some point, if there are no objections.

Andy
-- 
http://wingolog.org/



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

* Re: heads up: goops class export
  2011-05-01 20:32 heads up: goops class export Andy Wingo
@ 2011-05-03  8:50 ` Ludovic Courtès
  2011-05-03  9:31   ` Andy Wingo
  2011-07-01 10:03 ` Andy Wingo
  1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2011-05-03  8:50 UTC (permalink / raw)
  To: guile-devel

Hi!

Andy Wingo <wingo@pobox.com> writes:

> Currently when you define a SMOB type or set a name on a vtable, a
> corresponding class is automatically exported from (oop goops).  This
> breaks modularity, and I think we should stop doing it in 2.2.

I agree that they should not be exported from (oop goops).

However, how should GOOPS users access these classes then?  There needs
to be a way to get the class object associated with a SMOB type, for
instance.

Thanks,
Ludo’.




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

* Re: heads up: goops class export
  2011-05-03  8:50 ` Ludovic Courtès
@ 2011-05-03  9:31   ` Andy Wingo
  2011-05-03 12:19     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andy Wingo @ 2011-05-03  9:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

Hi!

On Tue 03 May 2011 10:50, ludo@gnu.org (Ludovic Courtès) writes:

> Andy Wingo <wingo@pobox.com> writes:
>
>> Currently when you define a SMOB type or set a name on a vtable, a
>> corresponding class is automatically exported from (oop goops).  This
>> breaks modularity, and I think we should stop doing it in 2.2.
>
> I agree that they should not be exported from (oop goops).
>
> However, how should GOOPS users access these classes then?  There needs
> to be a way to get the class object associated with a SMOB type, for
> instance.

Hum, a good question!  Perhaps smob-name->class, as there is
gtype->class; and of course there is class-of.

Andy
-- 
http://wingolog.org/



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

* Re: heads up: goops class export
  2011-05-03  9:31   ` Andy Wingo
@ 2011-05-03 12:19     ` Ludovic Courtès
  2011-05-03 13:11       ` Andy Wingo
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2011-05-03 12:19 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel

Hello!

Andy Wingo <wingo@pobox.com> writes:

> On Tue 03 May 2011 10:50, ludo@gnu.org (Ludovic Courtès) writes:
>
>> Andy Wingo <wingo@pobox.com> writes:
>>
>>> Currently when you define a SMOB type or set a name on a vtable, a
>>> corresponding class is automatically exported from (oop goops).  This
>>> breaks modularity, and I think we should stop doing it in 2.2.
>>
>> I agree that they should not be exported from (oop goops).
>>
>> However, how should GOOPS users access these classes then?  There needs
>> to be a way to get the class object associated with a SMOB type, for
>> instance.
>
> Hum, a good question!  Perhaps smob-name->class,

Yes, why not.  (It’s equivalent to (@@ (oop goops) foobar) in terms of
providing access to everyone, though.)

Thanks,
Ludo’.



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

* Re: heads up: goops class export
  2011-05-03 12:19     ` Ludovic Courtès
@ 2011-05-03 13:11       ` Andy Wingo
  0 siblings, 0 replies; 6+ messages in thread
From: Andy Wingo @ 2011-05-03 13:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

Hi :)

On Tue 03 May 2011 14:19, ludo@gnu.org (Ludovic Courtès) writes:

> Andy Wingo <wingo@pobox.com> writes:
>
>> smob-name->class
>
> Yes, why not.  (It’s equivalent to (@@ (oop goops) foobar) in terms of
> providing access to everyone, though.)

OK.  GOOPS really isn't for the ocap folks, given
class-direct-subclasses, the cross-module implications of defining a new
method on a generic, etc :)

Andy
-- 
http://wingolog.org/



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

* Re: heads up: goops class export
  2011-05-01 20:32 heads up: goops class export Andy Wingo
  2011-05-03  8:50 ` Ludovic Courtès
@ 2011-07-01 10:03 ` Andy Wingo
  1 sibling, 0 replies; 6+ messages in thread
From: Andy Wingo @ 2011-07-01 10:03 UTC (permalink / raw)
  To: guile-devel

Hi,

On Sun 01 May 2011 22:32, Andy Wingo <wingo@pobox.com> writes:

> Currently when you define a SMOB type or set a name on a vtable, a
> corresponding class is automatically exported from (oop goops).  This
> breaks modularity, and I think we should stop doing it in 2.2.
>
> I will make this change at some point, if there are no objections.

I have made this change in guile-master.  You can get at the class of a
record type by grubbing around in (class-direct-subclasses <top>), but
the real solution will be to make record type descriptors instances of
<basic-class>.  That will come lter.

Andy
-- 
http://wingolog.org/



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

end of thread, other threads:[~2011-07-01 10:03 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:32 heads up: goops class export Andy Wingo
2011-05-03  8:50 ` Ludovic Courtès
2011-05-03  9:31   ` Andy Wingo
2011-05-03 12:19     ` Ludovic Courtès
2011-05-03 13:11       ` Andy Wingo
2011-07-01 10:03 ` 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).