ILU Logo Xerox PARC Logo - link to PARC

Inter-Language Unification

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 CORBA Interface Definition Language (OMG IDL), or ILU's Interface Specification Language (ISL).

ILU 2.0 supports the programming languages C++ (Corba2 mapping), ANSI C, Python, Java, and Common Lisp. Contributed support is also available for Modula-3, Guile Scheme, and Perl 5. ILU has been installed on most flavors of UNIX (SunOS, Solaris, HP-UX, AIX, OSF, IRIX, FreeBSD, Linux, LynxOS, SCO Unix, etc.) and MS-Windows (3.1, 95, NT). It supports both threaded (POSIX, Solaris, NT, Franz ACL, PPCR, Modula-3) and event-loop (Xt, Tk, XView) operation. One of the implementation goals is to maximize compatibility with existing open standards. As a result, ILU provides support for use of the OMG CORBA IDL interface description language, and can be thought of as a CORBA ORB system (though with omissions from and extensions to the CORBA spec). ILU also includes a self-contained implementation of ONC RPC, and it is possible to describe and use existing RPC services as ILU objects. ILU also includes a self-contained implementation of the World Wide Web's Hypertext Transfer Protocol (HTTP), and can thus be used to implement object-oriented web browsers and servers. ILU is available free from `'.

Revised $Date: 2000/05/30 21:57:39 $ GMT, $Author: janssen $

2.0alpha14 Manual
Mailing Lists
FTP Sites


  • 2.0beta

    A beta release of ILU 2.0 is available. It includes support for the CORBA IIOP, the World Wide Web HTTP protocol, the World Wide Web Consortium's HTTP-NG protocols, ONC RPC, a CORBA-compliant C mapping, a CORBA-compliant C++ mapping, a CORBA-compliant Java mapping (both JDK 1.2 and JDK 1.1 support), Python support (through Python 1.5.x), Common Lisp support, OS kernel thread support, security via GSS-based context negotiation and on-the-wire message encryption, multiple languages in the same address space communicating via ILU calls, support for OMG IDL as well as ILU's ISL, GNU autoconf for configuration, an ANSI C XML parser, an implementation of the IETF Common Authentication Technology working group's GSS, support for URLs, new transport semantics to allow filtering, and better documentation. Support for using ILU with Modula-3 and Perl are available from other sources. The terms of the ILU copyright make it `free software'.

    ILU 2.0 beta is available as:

  • 2.0beta1 (New: C++ stubber, mixing threaded and non-threaded languages in one address space)

  • Miscellaneous Items
  • Owen Taylor's experimental Perl support
  • Ansgar Rademacher's Modula-3 support
  • A Web page decode an IOR using ILU's code
  • The "ILU for Java" home page
  • Earlier alpha releases are also available:

  • 2.0alpha14 (New: new type UID hash algorithm, support for Java JDK 1.2 and Java serialization of ILU types, support for Python CORBA mapping and Python dictionary passing)

  • 2.0alpha13 (New: Open Source copyright, XML parser, GSS security on connections, optimized marshalling of large data arrays, Java robustification, Linux support)

  • 2.0alpha12 (New: GSS API shell library, HTTP-NG wire protocols, full custom mapping in Java, server relocation)

  • Tutorials

    For the folks who'd like to see how to use ILU, we have a simple tutorial for using ILU in either
    Java, Python, or standard C. For other programming languages, you should consult The ILU Manual, or some of the examples in our distribution.

    FTP Sites

    In the United States, ILU is available from Xerox's Palo Alto Research Center at

    In Europe, Gerd Aschemann has set up a mirror at

    A Russian (and European) mirror of the ILU distribution directory is available from the Russian Academy of Sciences, Chernogolovka Science Center, at

    In Brasil, a mirror of the ILU distribution directory is available from the Universidade Estadual de Campinas, at or

    Will Partain points out that the experimental caching FTP service at HENSA UNIX might be of use to residents of the UK.

    Mailing List

    The mailing list is for discussion of ILU, questions, etc.. To subscribe to the list, please send a message with "subscribe" in the subject or body of the message, to To unsubscribe from the list, please send a message with "unsubscribe" in the subject or body of the message, to

    Another mailing list,, is only for announcements of ILU releases, and has much less traffic. Any messages sent to ILU-interest will be seen by everyone on ILU, however, so no need to be on both. Again, if you'd like to be on ILU-interest, please send mail with "subscribe" in the body or subject header to And to unsubscribe, send mail with "unsubscribe" in the body or subject header. Finally, bug reports and problems with ILU should be reported to, which will cause them to be seen by the right people.

    Archives of the ILU mailing lists are available as HyperMail archives.

    Copyright (c) 1991-1999 Xerox Corporation. All Rights Reserved.

    Unlimited use, reproduction, modification, and distribution of this software and modified versions thereof is permitted. Permission is granted to make derivative works from this software or a modified version thereof. Any copy of this software, a modified version thereof, or a derivative work must include both the above copyright notice of Xerox Corporation and this paragraph. Any distribution of this software, a modified version thereof, or a derivative work must comply with all applicable United States export control laws. This software is made available AS IS, and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


    Joachim Achtzehnter Judy Anderson, Antony Courtney, Doug Cutting, Mark Davidson, Jeanette Figueroa, Ken Fishkin, Scott Hassan, Rob Head, Chris Jacobi, Bill Janssen, Swen Johnson, Dan Larner, Bill Nell, Paula Newman, Ansgar Rademacher, Denis Severson, Bridget Spitznagel, Mike Spreitzer, Mark Stefik, Martin von Löwis, Farrell Wymore, and Rick Yardumian have all contributed directly to ILU. Many others have helped out by testing, debugging, advising, and pushing!

    Some Users of ILU (past and present)

  • LASAT Networks A/S in their Masquerade II product
  • Blue Sky Studios, Inc.
  • Cygnus Solutions (Foundry)
  • Digital Creations, L.C.
  • Bradley Schatz's Hive
  • Distributed Systems Technology Center
  • Landau Institute of RAS, Chernogolovka Science Center
  • Mercury Scheduling Inc., in their Magellan airline crew tracking system
  • NASA X-33 Reusable Launch Vehicle
  • Stanford University -- Digital Libraries Project -- Their notes on ILU -- Scott Hassan's ILU ISL editing mode for GNU Emacs
  • Universal Spatial Data Access Consortium -- GeoScope
  • University of Illinois -- Digital Library Initiative Project
  • University of Michigan -- Digital Library Project
  • University of Notre Dame -- Protected Shared Libraries
  • WIDE -- Workflow on Intelligent Distributed database Environment
  • Xerox PARC CSL -- Bayou
  • Xerox PARC ISTL -- Information Visualizer
  • Xerox PARC ISTL -- Intelligent Information Access
  • Xerox PARC ISTL -- Meeting Salvage
  • Xerox PARC ISTL -- Metro