Smalltalk and CORBA and generic bridges

Marcel Weiher marcel at
Fri Dec 11 00:09:30 UTC 1998

> Key targets would be:
>   - Design of Smalltalk IDL mappings (I think a prelim one already  
> exits on
>   - Design of IIOP to be implemented under Squeak
>   - Design of IDL compiler to translate standard IDL to program
> skeleton and stub coded in Smalltalk/Squeak (with associated design  
> of the skeleton and stub).
>   - Design of a Naming Service implemented under Squeak.

This is a good plan, but let's make these generic so we can have the  
following groups working together on a unified base for diverse  

1. CORBA fans
2. Native interface hackers
3. Distributed Squeak researchers

It would be a shame if each group were to duplicate lots of base  
functionality.  Specifically, the points above could be generalized  
as follows (off the top of my head):

- a Smalltalk argument marshalling subsystem

   - converts Smalltalk objects specified in a basic types
   - converts basic types to external representation
   - converts external types to Smalltalk objects (incl. proxies)
   - IIOP as a concrete subclass
   - HTTP-ng as a (future) concrete subclass
   - C-callout as a concrete subclass
   - Distributed-Squeak encoder as a  concrete subclass
   - ...
   - needs signature info from signature subsystem

   - Feedback on IIOP encoding
   - Feedback on C-type argument marshalling from API implementors
   - Ideas + Feedback on what types need to be encoded

- a signature subsystem
   - return a list of basic types to be used by the marshalling subsystem
   - CORBA IDL as a concrete subclass
   - CORBA dynamic invocaiton interface (DII) as a subclass
   - Objective-C dynamic type info as a subclass
   - C header-file parser as a subclass
   - ...

   - Feedback on the various type encoding schemes (I could provide  
for Objective-C)

- Proxy management
   - can be used by many of the specific instances

- Name management
   - How to look up objects by name in various systems
       - URL, etc.
       - For Objective-C, this would usually only be classes
          + application/services ports for distributed object connections

I really, really would not want to have all this effort duplicated  
over and over again, and would volunteer to do the integration work.


More information about the Squeak-dev mailing list