Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!sdd.hp.com!hplabs!hpl-opus!hpnmdla!hpmwtd!davem From: davem@hpmwtd.HP.COM (Dave McQuate) Newsgroups: comp.binaries.ibm.pc.d Subject: Re: Scheme interpreter for MS-DOS Message-ID: <1030005@hpmwdjm.HP.COM> Date: 19 Sep 90 17:37:33 GMT References: <90261.190248DLV101@psuvm.psu.edu> Organization: HP Microwave Tech. - Santa Rosa, Ca. Lines: 56 ... from a recent posting to comp.sources.d ... 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). An extract from the 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.