From: Andrew Cooke
Subject: Structure slots (surely not MOP?)
Date: 
Message-ID: <80bt7s$qro$1@nnrp1.deja.com>
Hi,

How do I get a list of slot names that a structure (or, I guess, any
object, or class) contains?

Sorry for posting such a simple question, but I can't seem to find the
answer in CLtL or CLHS.

Thanks,
Andrew

PS I posted this same question about 14 hours ago from Deja, but it
hasn't appeared there, so I think I must have done something wrong.
Apologies if this is a duplicate.


Sent via Deja.com http://www.deja.com/
Before you buy.

From: Barry Margolin
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <3DgW3.53$vE2.1833@burlma1-snr2>
In article <············@nnrp1.deja.com>,
Andrew Cooke  <······@andrewcooke.free-online.co.uk> wrote:
>How do I get a list of slot names that a structure (or, I guess, any
>object, or class) contains?

There's no portable way to do it.  This is discussed in the FAQ.

-- 
Barry Margolin, ······@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Fernando Mato Mira
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <38298CFC.44F3C3D5@iname.com>
Barry Margolin wrote:

> In article <············@nnrp1.deja.com>,
> Andrew Cooke  <······@andrewcooke.free-online.co.uk> wrote:
> >How do I get a list of slot names that a structure (or, I guess, any
> >object, or class) contains?
>
> There's no portable way to do it.  This is discussed in the FAQ.

No _officially_ portable way. Following the AMOP should just work if you've got a
MOP in your CL.
From: Robert Monfera
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <3829AE0E.9C962FF1@fisec.com>
Fernando Mato Mira wrote:
> 
> Barry Margolin wrote:
> 
> > In article <············@nnrp1.deja.com>,
> > Andrew Cooke  <······@andrewcooke.free-online.co.uk> wrote:
> > >How do I get a list of slot names that a structure (or, I guess, any
> > >object, or class) contains?
> >
> > There's no portable way to do it.  This is discussed in the FAQ.
> 
> No _officially_ portable way. Following the AMOP should just work if you've got a
> MOP in your CL.

At least for CLOS.  Yes, AMOP can be considered a de facto standard
among top-tier implementations (ripe for inclusion in the standard?). 
There are minor deviations though (e.g.,
#'clos:direct-slot-definitition-class in LispWorks is taking initargs as
a required parameter, while AMOP (and ACL) takes initargs as a &rest
parameter).

What is regrettable is that some other implementations do not go beyond
a somewhat optimized Closette, which comes together with its limitations
like no class redefinition  (these ommissions violate ANSI CL as well). 
Also, probably their performance is significantly worse than that of an
optimized solution.

I'm wondering if this is a reason why CL-HTTP is not ported to many of
these implementations: from what I heard, it is quite heavily
object-oriented.

To avoid misunderstandings, I feel awe and respect towards CL
implementors like Roger Corman, Bruno Haible and the POPLOG folks, for
their incredible efforts; it's just a coincidence that I want to be
reliant on something they consider optional.

Robert
From: Clemens Heitzinger
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <1e12up6.1sgi07z1ek99ljN%cheitzin@ag.or.at>
Robert Monfera <·······@fisec.com> wrote:

> I'm wondering if this is a reason why CL-HTTP is not ported to many of
> these implementations: from what I heard, it is quite heavily
> object-oriented.

Actually cl-http runs on most implementations.  The major hindrance for
new ports is not object orientation, but lack of multiprocessing (and
people who volunteer).

Afaik the only platforms it doesn't run on are clisp (no
multiprocessing) and Corman Common Lisp.  Don't know how stable it is on
cmucl.

-- 
Clemens Heitzinger
http://ag.or.at:8000/~clemens   (Lisp related material)
From: Robert Monfera
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <382AD994.F27B8175@fisec.com>
Clemens Heitzinger wrote:

> ... runs on most implementations. 

Yes, I only referred to the ones that you also list below (and GCL of
course).

> The major hindrance for
> new ports is not object orientation, 

Last time I looked it used things like changing the class of an object.
Try to do it in any of the listed implementations without first bringing
them to ANSI CLOS :-) level from post-Closette level.

> but lack of multiprocessing 

Corman Lisp has this.  I guess CLISP and GCL doesn't.

> (and
> people who volunteer).

I guess quite a few people would use it and contribute to it (including
myself), if it had an acceptable license.  I have plans to do some
related development (e.g., CSS or a lisp inspector with HTML GUI) and
would happily contibute code, if a license allowed me to consider the
http server and to spend time on adding to it, rather than being forced
to reinvent the weel.  As a matter of fact, I use few of the features of
it, so it's not as painful - this is why I haven't whined about it.  I
also have to use CSS and HTML 4, which are I think not yet supported.
SSL has been dragging on for years.  It seems the project is falling
behind (compare current to do list with the one 2 years ago) because of
lack of both open-source contribution and commercial interest.

Regards
Robert
From: Andrew Cooke
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <80f50r$8i3$1@nnrp1.deja.com>
In article <·················@fisec.com>,
  ·······@fisec.com wrote:
> SSL has been dragging on for years.  It seems the project is falling
> behind (compare current to do list with the one 2 years ago) because
of
> lack of both open-source contribution and commercial interest.

The OpenSSL project (was SSLeay) at www.openssl.org has a useable C
implementation of SSL.  I realise this brings other problems (native
interfaces not being part of the Common Lisp standard), but SSL itself
is in wide use (maybe you were talking about a Lisp project - it wasn't
clear to me - in which case ignore this...).

Andrew



Sent via Deja.com http://www.deja.com/
Before you buy.
From: Rainer Joswig
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <joswig-1111991707550001@mac-rjo.work.maz.net>
In article <·················@fisec.com>, ·······@fisec.com wrote:

> SSL has been dragging on for years.

I have an **experimental** version of SSL running in CL-HTTP and LispWorks/Windows.

ftp://ftp.lavielle.com/pub/cl-https/

Rainer Joswig, ISION Internet AG, Harburger Schlossstra�e 1, 
21079 Hamburg, Germany, Tel: +49 40 77175 226
Email: ·············@ision.de , WWW: http://www.ision.de/
From: Rainer Joswig
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <joswig-1211990930080001@mac-rjo.work.maz.net>
In article <·······················@mac-rjo.work.maz.net>, ······@lavielle.com (Rainer Joswig) wrote:

> In article <·················@fisec.com>, ·······@fisec.com wrote:
> 
> > SSL has been dragging on for years.
> 
> I have an **experimental** version of SSL running in CL-HTTP and LispWorks/Windows.
> 
> ftp://ftp.lavielle.com/pub/cl-https/

I also should mention that it has been written by a bright student
(Bodo Moeller) for Lavielle.

Rainer Joswig, ISION Internet AG, Harburger Schlossstra�e 1, 
21079 Hamburg, Germany, Tel: +49 40 77175 226
Email: ·············@ision.de , WWW: http://www.ision.de/
From: Reini Urban
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <382bdded.5587854@judy>
Robert Monfera wrote:
>> but lack of multiprocessing 
>
>Corman Lisp has this.  I guess CLISP and GCL doesn't.

corman lisp has only nt thread support, but nothing for multi-processor
hardware. nt does this.
distributed computing nada.
--
Reini Urban
http://xarch.tu-graz.ac.at/autocad/news/faq/autolisp.html
From: Robert Monfera
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <382C2359.74D14201@fisec.com>
Reini Urban wrote:

> corman lisp has only nt thread support, but nothing for 
> multi-processor
> hardware. nt does this.
> distributed computing nada.

I thought the OS (in this case, Win32) would be responsible for
assigning the threads to processors as it sees fit.  If you have eight
processors in your NT box, your threads may run on all eight of them.

In general, Lisp vendors (Franz, Harlequin, Corman) use OS native
threading mechanism on Win32 - is it not correct to say that this way
they can take advantage of additional processors?

Robert
From: Roger Corman
Subject: Re: Structure slots (surely not MOP?)
Date: 
Message-ID: <382c65fc.843312829@nntp.best.com>
On Fri, 12 Nov 1999 09:25:29 -0500, Robert Monfera <·······@fisec.com>
wrote:

>Reini Urban wrote:
>
>> corman lisp has only nt thread support, but nothing for 
>> multi-processor
>> hardware. nt does this.
>> distributed computing nada.
>
>I thought the OS (in this case, Win32) would be responsible for
>assigning the threads to processors as it sees fit.  If you have eight
>processors in your NT box, your threads may run on all eight of them.
>
>In general, Lisp vendors (Franz, Harlequin, Corman) use OS native
>threading mechanism on Win32 - is it not correct to say that this way
>they can take advantage of additional processors?
>
>Robert
You are right. Corman Lisp is designed to support multiple processors
since it runs on native NT threads, which can run on multiple
processors. I have tried running Corman Lisp programs on
multiple-processor NT boxes, a little (since I don't own one),
and have not found problems. However, I can't at this point guarantee
somebody won't bump into problems with this because it really hasn't
been tested with MP. It always seemed to me that supporting MP was a
key reason you would use multi-threaded programming in the first place
(not the only reason, but a very important one) and without that
support it isn't nearly as useful.

Roger Corman