From: Jules F. Grosse
Subject: Integration between CLOS / C++ / Smalltalk
Date: 
Message-ID: <17c920a6.0211120831.210a523@posting.google.com>
Is there any package that integrates CLOS with other object oriented
languages, eg, C++, Smalltalk, etc. (other thank Franz's JLinker?)

From this "bridge", I suppose one could use an object-oriented
database (GemStone/ObjectStore) from Lisp, right?  Any experiences on
this area around here?

danke

From: Dave Bakhash
Subject: Re: Integration between CLOS / C++ / Smalltalk
Date: 
Message-ID: <c29lm3ytswz.fsf@no-knife.mit.edu>
·········@netscape.net (Jules F. Grosse) writes:

> Is there any package that integrates CLOS with other object oriented
> languages, eg, C++, Smalltalk, etc. (other thank Franz's JLinker?)
> 
> From this "bridge", I suppose one could use an object-oriented
> database (GemStone/ObjectStore) from Lisp, right?  Any experiences on
> this area around here?

There's also something called POSTORE with which there's an ODBMS that
someone wrote called "PLOB!"

There have been many posts, and there's googling for PLOB will lead you
right to it.

dave
From: Heiko Kirschke
Subject: Re: Integration between CLOS / C++ / Smalltalk
Date: 
Message-ID: <47b63c30.0211130119.30d489cb@posting.google.com>
·········@netscape.net (Jules F. Grosse) writes:

> Is there any package that integrates CLOS with other object oriented
> languages, eg, C++, Smalltalk, etc. (other thank Franz's JLinker?)
> 
> From this "bridge", I suppose one could use an object-oriented
> database (GemStone/ObjectStore) from Lisp, right?  Any experiences on
> this area around here?

You could, but I guess you will run into trouble interfacing
to these databases. Normally, these non-Lisp languages only
have to a limited extent dynamic typed objects, which leads
normally to foreign function APIs with arguments needed
to be statically typed. Assuming that you want to use the
foreign language o-o database generically (and not for a
single, special application), you will have to write a huge
amount of foreign function interfacing code on the Lisp side.

Next problem is returning structured data from a foreign function
call into Lisp. This involves representational issues
(conversion of the structure's elements) and esp. reference
issues (how to represent references to other data in foreign
function structured data & converting this into Lisp
references?).

Besides this, you have to consider that you don't get foreign
function calls from Lisp to a foreign languages for free. There
can be considerable overhead associated to such a call in
terms of CPU time (conversions, type checking) and memory
consumption (conversions, intermediate structures) (and the
memory used there might not be gc-able, too).

Dave Bakhash <·····@alum.mit.edu> wrote in message news:<···············@no-knife.mit.edu>...

> There's also something called POSTORE with which there's an ODBMS that
> someone wrote called "PLOB!"

PLOB uses POSTORE as a kind of persistent heap, in the sense
of allocating persistent unstructured records from it, similar
to a Lisp system allocating transient pieces of memory from its
heap. POSTORE itself has no database-like capabilities, like
transactions, locks or indices, that's all added by the PLOB
layer on top of POSTORE. Also, the data representation used
within POSTORE is defined by the PLOB layer using it, and
resembles closely the data representation of Lisp systems
(i.e., it represents immediates, vectors, structures,
CLOS instances as basic types among the usual basic types).

-- Heiko
From: Kenny Tilton
Subject: Re: Integration between CLOS / C++ / Smalltalk
Date: 
Message-ID: <3DD14057.8070504@nyc.rr.com>
Jules F. Grosse wrote:
> Is there any package that integrates CLOS with other object oriented
> languages, eg, C++, Smalltalk, etc. (other thank Franz's JLinker?)
> 
> From this "bridge", I suppose one could use an object-oriented
> database (GemStone/ObjectStore) from Lisp, right?  Any experiences on
> this area around here?

Franz built AllegroStore atop ObjectStore. /Not/ a trivial project. I 
also thing there is an ineluctable performance hit translating between 
C++ representations and CL. That said, we are happy with AllegroStore.

-- 

  kenny tilton
  clinisys, inc
  ---------------------------------------------------------------
""Well, I've wrestled with reality for thirty-five years, Doctor,
   and I'm happy to state I finally won out over it.""
                                                   Elwood P. Dowd