[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Kawa-commonlisp-dev] Java representation of define-class slots
From: |
John Cowan |
Subject: |
Re: [Kawa-commonlisp-dev] Java representation of define-class slots |
Date: |
Sat, 22 Jun 2013 16:09:52 -0400 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
Per Bothner scripsit:
> I believe I've written up how Kawa multiple inheritance works -
> but I can't find such a write-up, beyond the rather limited:
>
> http://www.gnu.org/software/kawa/Defining-new-classes.html
The only other thing Dr. Google knows about is your 2005 slides,
which I have already seen. What is more, experimenting with
multiple inheritance in Kawa 1.13 produces only errors:
#|kawa:1|# (define-class foo () (x1) (x2))
#|kawa:2|# (define-class bar () (y1) (y2))
#|kawa:3|# (define-class foobar (foo bar) (z1) (z2))
/dev/stdin:3:22: invalid super type
/dev/stdin:3:27: invalid super type
#|kawa:4|#
Replacing the empty superclass list with (<object>) doesn't help.
What's that about?
> For define-class (assuming interface: isn't specified) we create an
> interface where each field compiles to get/set method pair.
This critical sentence isn't written down anywhere but here.
> If the Scheme class has super-classes, then the generated
> interface inherits from the generated interfaces of the super-classes,
> but the generated class does not extend the generated classes of
> the super-classes.
That's what I assumed.
--
Principles. You can't say A is John Cowan <address@hidden>
made of B or vice versa. All mass http://www.ccil.org/~cowan
is interaction. --Richard Feynman