guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: base class parameterisation?


From: Marco Maggi
Subject: Re: base class parameterisation?
Date: Mon, 25 Jun 2007 15:57:57 +0200

On Tue Jun 12 22:50:02 2007 +0200 "Andy Wingo" wrote:
>On Sat, 2007-06-09 at 08:18 +0200, Marco Maggi wrote:
>>         ---A---
>>        |       |
>>        v       v
>>        A1      A2
>>
>>            B
>>
>>I wonder if there is a way to parameterise the
>>construction of 'B' to let it have 'A1' or 'A2'
>>as base class. I do not want to use delegation.
>
>I suspect you will have to make a metaclass and
>specialize on allocate-instance. Something like
>(my GOOPS is rusty):
>
>(define-class A-metaclass (<class>))
>
>(define-method (allocate-instance (class A-metaclass)
>                                  initargs)
>  (if (random-predicate) (allocate-instance A1)
>      (allocate-instance A2)))
>
>(define-class B () #:metaclass A-metaclass ..)

Mh, no[1]. But thanks anyway, it has been a good
occasion to inspect some of GOOPS.

Meanwhile I have changed my design, so I need that
no more.

Ciao.

[1] <http://community.schemewiki.org/?goops-allocate-instance>

--
Marco Maggi






reply via email to

[Prev in Thread] Current Thread [Next in Thread]