CORBA is the Common Object Request Broker Architecture. The document describing OMG CORBA bindings for Common Lisp is available at .

Peter Van Eynde: CORBA is a poor match with CLOS: CORBA methods can have a variable number of arguments, which results in having all methods having arguments (object &rest parameters) . This is less then ideal, and especially the GUI tools like ilisp are helpless to give useful argument lists. There is no concept of a mix-in of course

The ANY type is nice, but most implementations only convert the first level of an ANY object, so you'll get a list of ANY objects instead of a list of lisp objects like strings and integers. You need to realize each object in turn to get that list of lisp things. Note that this is not a problem with the current implementations, but with a basic problem related to the copying problem in Common Lisp.

Other CORBA problem include the failure of many people to realize that this is Network programming and things like bandwith and latency are not to be underestimated. So no "This method returns a cookie and you need to use this object method to itterate through it" but: "This methods returns the number of records found and a list containing the first N results, use method foo to get the next N". The latter method reduces latency and makes better use of the network bandwidth. I could rant for hours on this subject... Peter Van Eynde

Another thing: CORBA uses CDR-encoding which is the on-the-wire encoding of objects, not the memory-saving trick used in the old lisp machines :-).

CDR, in the context of CORBA, is a Common Data Representation.

For free CORBA for Common Lisp, see