Integration between CLOS / C++ / Smalltalk 
Author Message
 Integration between CLOS / C++ / Smalltalk

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



Sun, 01 May 2005 00:31:48 GMT  
 Integration between CLOS / C++ / Smalltalk

Quote:

> 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



Sun, 01 May 2005 01:51:05 GMT  
 Integration between CLOS / C++ / Smalltalk

Quote:
> 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



Sun, 01 May 2005 04:49:32 GMT  
 Integration between CLOS / C++ / Smalltalk

Quote:
> 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).

Quote:

> 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



Sun, 01 May 2005 17:19:57 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Encapsulating CLOS (was: Diff. CLOS vs C++)

2. Encapsulating CLOS (was: Diff. CLOS vs C++)

3. Encapsulating CLOS (was: Diff. CLOS vs C++)

4. Encapsulating CLOS (was: Diff. CLOS vs C++)

5. Basic C++ and Clarion integration

6. C++ and Clarion integration

7. Labview Numeric control integration with C++

8. C++/Functional Language Integration Thesis available

9. Still looking for C/C++/functional integration

10. Ann: New SIG for the development of Python/C++ integration

11. Ada / Visual C++ Integration

12. Portland OR: SW Integration/Test Engineer, Network Protocols, C/C++

 

 
Powered by phpBB® Forum Software