From janssen@holmes.PARC.Xerox.Com Mon May 23 13:35:50 EDT 1994
Article: 12874 of comp.lang.lisp
Xref: glinda.oz.cs.cmu.edu comp.object:16954 comp.client-server:3779 comp.object:16955 comp.lang.lisp:12874 comp.lang.modula3:2537 comp.lang.c++:77562 comp.lang.clos:2317 comp.lang.c:99336 comp.lang.misc:16165 comp.lang.python:635 comp.programming:9700 comp.specification:2062
Path: honeydew.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!godot.cc.duq.edu!newsfeed.pitt.edu!gatech!howland.reston.ans.net!agate!overload.lbl.gov!lll-winken.llnl.gov!decwrl!parc!news!janssen
From: janssen@holmes.PARC.Xerox.Com (Bill Janssen)
Newsgroups: comp.object,comp.client-server,comp.object,comp.lang.lisp,comp.lang.modula3,comp.lang.c++,comp.lang.clos,comp.lang.c,comp.lang.misc,comp.lang.python,comp.programming,comp.specification
Subject: ILU 1.6.4 available
Date: 21 May 1994 01:45:28 GMT
Organization: Xerox Palo Alto Research Center
Lines: 114
Distribution: world
Message-ID:
NNTP-Posting-Host: holmes.parc.xerox.com
Summary: ILU, an object-oriented multi-lingual RPC-capable module system, is now freely available
Keywords: inter-language unification, object-oriented, interface, module system, OMG CORBA, ILU ISL, OMG IDL, RPC, C++, ANSI C, Common Lisp, Modula-3
Version 1.6.4 of the Xerox PARC Inter-Language Unification (ILU)
system is now available for general use.
WHAT'S ILU?
ILU (pronounced eye'-loo) is a system that promotes software
interoperability via interfaces. Interfaces between what? Whatever
units of program structure are desired; we call them by the generic
term "modules". They could be parts of one process, all written in
the same language; they could be parts written in different languages,
sharing runtime support in one memory image; they could be parts
running in different memory images on different machines (on different
sides of the planet). A module could even be a distributed system
implemented by many programs on many machines. Calls across ILU
interfaces involve only as much mechanism as necessary for the calling
and called modules to interact. In particular, when the two modules
are in the same memory image and use the same data representations,
the calls are direct local procedure calls -- no stubs or other RPC
mechanisms are involved.
ILU modules are known by their interfaces. A module interface is
specified once in ILU's object-oriented Interface Specification
Language (called, simply, ISL). For each of the particular
programming languages supported by ILU (currently Common Lisp, ANSI C,
C++, and Modula-3; Python, Tcl, and GNU Emacs-Lisp are in the works),
a version of the interface in that particular programming language can
be generated. The ILU kernel library provides services which may be
used by the language-specific interface to overcome intermodule
language or address space differences.
Many existing RPC systems, such as Xerox XNS Courier, ONC RPC, and OSF
DCE RPC, have strong notions of interfaces. ILU allows binding to
such services provided by such systems if their interfaces can be
described in ISL. ISL has been designed to facilitate such
description (currently, only for ONC RPC; Courier and DCE RPC are in
progress). The binding to such RPC services is done in such a way as
to be indistinguishable from binding to other ILU modules. In fact,
properly constructed ILU modules can appear as native RPC services,
and can be manipulated by non-ILU tools designed to work with those
RPC services.
Similarly, the Object Management Group's (OMG) Common Object Request
Broker Architecture (CORBA) defines modules with explicit interfaces.
ILU allows modules that can be described with a safe subset of OMG
CORBA IDL to be used as ILU modules, as well, though the ILU object
model is not quite the same as the OMG CORBA object model. In fact,
people wishing to experiment with CORBA may find ILU a useful
experimental platform, as it does allow module specification with OMG
IDL, and does generate ANSI C support as specified in Draft 1.2 of the
OMG CORBA specification. As the OMG specification for a C++ mapping
is agreed upon, we intend to provide that mapping for our C++ support,
as well.
Release 1.6.4 is intended as a beta release. Major efficiency
improvements and some usability improvements are planned for the next
release. It has been tested lightly on SunOS 4.1.3, Sun's Solaris
2.3, and SGI's IRIX 5.2. It is designed to be highly portable, and a
port to the Macintosh has been done (but is not included in this
release).
GETTING THE RELEASE
The release is only available via FTP from the PARC ftp server.
Perhaps the simplest way is to go through our World Wide Web home
page, ftp://parcftp.parc.xerox.com/pub/ilu/ilu.html. It has links to
everything else, and may help answer any questions you might have.
The release notes are available as an HTML document,
ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/announce.html.
The full source code, including documentation, is available
as a 3 MB compressed tar file as
ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/ilu-1.6.4.tar.Z
The 1.6.4 ILU manual is also available separately, either in
Postscript (231 KB) as
ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/ilu-manual-1.6.4.ps.Z
or via World Wide Web at
ftp://parcftp.parc.xerox.com/pub/ilu/1.6.4/manual-html/manual_toc.html.
CONTRIBUTORS
Antony Courtney, Doug Cutting, Bill Janssen, Denis Severson,
Mike Spreitzer, Mark Stefik, Farrell Wymore
COPYRIGHT RESTRICTIONS
ILU is Copyright (c) 1991, 1992, 1993, 1994 Xerox Corporation.
All Rights Reserved.
Unlimited use, reproduction, and distribution of this software is
permitted. Any copy of this software must include both the above
copyright notice of Xerox Corporation and this paragraph. Any
distribution of this software 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.
--
Bill Janssen (415) 812-4763 FAX: (415) 812-4777
Xerox Palo Alto Research Center, 3333 Coyote Hill Rd, Palo Alto, CA 94304
URL: ftp://parcftp.parc.xerox.com/pub/ilu/misc/janssen.html
Article 13248 of comp.lang.lisp:
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:13248
Path: honeydew.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!yeshua.marcam.com!usc!howland.reston.ans.net!agate!ames!decwrl!parc!news!janssen
From: janssen@parc.xerox.com (Bill Janssen)
Newsgroups: comp.lang.lisp
Subject: Re: Interprocess communication in Common Lisp ?
Date: 23 Jun 1994 04:42:28 GMT
Organization: Xerox Palo Alto Research Center
Lines: 32
Message-ID:
References: <2bartel.772272064@rzdspc5>
NNTP-Posting-Host: holmes.parc.xerox.com
In-reply-to: 2bartel@rzdspc5.informatik.uni-hamburg.de's message of 22 Jun 94 08:01:04 GMT
In article <2bartel.772272064@rzdspc5> 2bartel@rzdspc5.informatik.uni-hamburg.de (Henner Bartels) writes:
Currently LISP doesn't support mechanisms to communicate with other
LISP processes running on the same (or distant) machines nor it is
capable of communicating with other tasks like h/w drivers written
in C or Forth.
This is probably off the topic, but our Inter-Language Unification
system, ILU, supports Lisp processes talking to other Lisp processes,
either on the same machine or other machines, and sharing each others'
objects (in a very limited, but useful, way). It also supports
talking from Lisp to C, Modula-3, or C++, in a generic, standard way.
It also provides a module system/language for static description of CL
interfaces.
Publicly available free. Can be used commercially, free. Currently
only working in Lisp with Franz Allegro CL, but designed to be easy to
port. See
ftp://parcftp.parc.xerox.com/pub/ilu/ilu.html
for details.
Bill
--
Bill Janssen (415) 812-4763 FAX: (415) 812-4777
Xerox Palo Alto Research Center, 3333 Coyote Hill Rd, Palo Alto, CA 94304
URL: ftp://parcftp.parc.xerox.com/pub/ilu/misc/janssen.html