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.