kawa-commonlisp-dev
[Top][All Lists]
Advanced

[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



reply via email to

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