The IDL/Lisp Standard and ORBLink
The CORBA IDL/LISP proposed standard mapping allows the implementor
flexibility in the implementation of various types and functions. The
purpose of this document is to describe the choices we have made.
This ORB always unmarshals values corresponding to the IDL sequence
type as vectors. However, a list may be used anywhere a sequence is
float and double types
corresponding to the IDL
float type, denotes the type
corba:double, corresponding to the IDL
denotes the type
ORBLink implements CORBA operations as generic functions. An operation
named "foo" will be mapped to a method on a standard generic function
The signature of the generic function is
(T &REST ARGS).
User code may rely on the fact that
is a funcallable object and
may freely use auxiliary methods with such objects. However, Franz may
change the low-level implementation of such functions in the future
and user code should not rely on the metaclass or the signature of
such generic functions.
The following aspects of the CORBA Core are unimplemented:
Wide strings, wide characters
[no longer true as of Orblink 2.2.03]
- Extended numeric types (long double, long long)
- Fixed types
[no longer true]
Note on on enum types
According to the CORBA 2.2 specification, an enum type does not begin a new naming scope. This means that enum members themselves define
a new type in the namespace of the IDL construct containing the enum type definition. The CORBA 2.3 specification may change this counter-intuitive rule. In any case, we follow the CORBA 2.2 specification so that users must make sure that enum members do not conflict with names in a containing scope.