net@tub.UUCP (Oliver Laumann) (09/14/90)
A new release of the Elk Scheme implementation ("Extension Language Kit") is available for anonymous FTP on mcsun.eu.net [192.16.202.1] (~ftp/programming/languages/elk-scheme/) and funic.funet.fi [128.214.6.100] (~ftp/pub/unix/languages/scheme/). The file name is elk-1.2.tar.Z (0.5 MBytes). Several people have contributed to this version, among them Don Hopkins (SPARC port), George Hartzell (MIPS port, ECOFF support), Zalman Stern (IBM-RT), Paul Breslaw (HP9000), and Carsten Bormann (portable alloca). Piet Beertema and Tero Mononen kindly helped me to put the distribution on the above FTP sites. Major improvements with respect to version 1.0 (which was posted to comp.sources.misc last year) are: - support for X11 Release 4 - interface to the OSF/Motif widgets - better documentation - ported to new machines (Sun-4, HP9000, MIPS, and others) - a "portable version" of the software can be installed on new machines without requiring assembly language support any longer If you don't know what Elk is, or if you don't know whether you want it, you can read the release notes at the end of this message. Regards, -- Oliver Laumann, Technical University of Berlin, Germany. pyramid!tub!net net@TUB.BITNET net@tub.cs.tu-berlin.de ---------------------------------------------------------------------------- Elk 1.2. Release Notes Elk (Extension Language Kit) is a Scheme interpreter intended to be used as a general extension language; it is also useful as a stand-alone implementation of Scheme. One purpose of the Elk project is to end the recent proliferation of mutually incompatible Lisp-like extension languages. Instead of inventing and implementing yet another extension language, application programmers can link the Scheme interpreter into their application in order to make it extensible and highly customizable. The Elk project was started in 1987 to support ISOTEXT, an ODA-based document system (a WYSIWYG editor) that is being developed at the Technical University of Berlin. Elk has been successfully demonstrated as the extension language kernel of ISOTEXT, e.g. at the Hanover Fair 1989. We feel that Scheme is better suited as a general extension language than other Lisp dialects: it is sufficiently small to not dwarf the application it serves and to be fully understood with acceptable effort; it is orthogonal and well-defined. In addition, Scheme has been recognized to be mature enough for national and international standardization (IEEE P1178, ISO/IEC JTC1/SC22/WG16). The Elk Scheme implementation is R^3RS compatible (with some minor exceptions that are listed in the documentation); future releases will conform to the R^4RS and/or P1178 as soon as the respective standards become available. Non-standard features of the Scheme implementation include: o dynamic loading of object files o creation of an executable image from the running interpreter (``dump'') o a macro facility o environments as first-class objects o dynamic-wind, fluid-let o autoloading, provide/require The Scheme interpreter can easily be extended by application-specific new types and primitive procedures. Such extensions are typically written in C or C++ and dynamically loaded into the running interpreter. The current release of Elk includes several such extensions, e.g. interfaces to the X11 Xlib and to the application programmer interface of the Xt intrinsics, and interfaces to the Athena, HP (obsolete), and OSF/Motif widget sets. The software has been tested on Sun-3s and Sun-4s with SunOS, ISI 680x0 with 4.2BSD and 4.3BSD, Vax with 4.3BSD and Ultrix, IBM RT with AOS, Intel 80386 with System V Release 3, Sequent Symmetry, Sony News, DECStation 3100, and HP9000 with HP-UX. Porting instructions are included. Dynamic loading of object modules is not supported on some systems.