ILU 2.0alpha9

This is to announce the availability of an alpha release of ILU 2.0, ILU 2.0alpha9. See ftp://ftp.parc.xerox.com/pub/ilu/ilu.html to download the sources for UNIX or Windows or pre-built Windows binaries.

The Inter-Language Unification system (ILU) is a multi-language object interface system. The object interfaces provided by ILU hide implementation distinctions between different languages, between different address spaces, and between operating system types. ILU can be used to build multi-lingual object-oriented libraries ("class libraries") with well-specified language-independent interfaces. It can also be used to implement distributed systems. It can also be used to define and document interfaces between the modules of non-distributed programs. ILU interfaces can be specified in either the OMG's IDL language, or in ILU's Interface Specification Language, which allows extensions to the CORBA spec. Programming languages supported in 2.0alpha9 are ANSI C and Python; rough C++, Common Lisp, and Java support is also present; contributed Guile support is included. Operating systems supported in 2.0alpha9 are all Windows platforms with Win32 and WinSock, and all UNIX platforms with BSD sockets and minimal POSIX compliance. 2.0alpha9 supports interoperability with ONC RPC services, OMG CORBA services, World Wide Web HTTP services, and XNS Courier services. ``Plug-in'' extensibility is provided for RPC message formats, message transport schemes, URL schemes, accounting and authorization identity types, threading and event loop processing, and various other things. ILU is provided free for unrestricted use.

Known bugs are listed in the README file. Despite being an alpha release, 2.0alpha9 is very stable along a number of dimensions. Principal areas still under development, and hence unstable, are: the specific APIs for security, the C++ mapping, the Java mapping, the mapping of ILU object references to various RPC protocols, the specific algorithm for automatic generation of type UID fingerprints, and the specific contents of the ILU profile in the OMG CORBA IOR. 2.0alpha9 also includes the beginnings of support for Common Lisp, Guile Scheme, and Java; this support will change fairly drastically in the next release, and is included mainly as a convenience for those working on these languages.

Patches will be appearing in the file ftp://ftp.parc.xerox.com/pub/ilu/2.0a9/patches.html.

Changes from 2.0alpha8 to 2.0alpha9

PICKLE support for dynamic types added.
This allows you to use a new ISL type, `PICKLE', to pass arbitrary typed values across interfaces. Pickle support is implemented in such a fashion as to be interoperable with CORBA `any', and our OMG IDL to ISL translator in fact maps `any' directly to `PICKLE'.
Better support for OMG IDL.
It now supports `Object' and `any', and calculates CORBA-style type repository identifiers properly.
Proper collection of dead connections.
The kernel now properly frees connections after they have been closed.
Prototype Java support.
This release contains a first pass at Java support for ILU.
Prototype Common Lisp support.
This release contains a first pass at Common Lisp support for ILU 2.0. Many thanks to Joachim Achtzehnter for contributing it!
Prototype Guile Scheme support.
Bill Nell and Siemens have been kind enough to contribute preliminary support for Guile, the GNU variant of Scheme. This contribution is provided "as is", in the `ILUSRC/contrib/siemens-guile/' subdirectory.
Support for Python 1.4.
A number of patches are incorporated to make ILU support for Python with Python 1.4 build "out of the box", on Unix. Python 1.3 is still the supported system for Windows.
Support for Xt fixed.
The support for using ILU with Xt now works.
Simplification of Windows support.
The Windows build has been simplified. WINIO has been removed, and everything builds with one set of makefiles. Support for WIN16 has been removed.