schroed@fbihh.UUCP (Schroeder) (11/23/89)
Recently I posted an article to comp.lang.lisp in which I asked for a comparison of Lucid and Allegro, both for the Sun 4. The first reply I got was from Steve Anderson of the Cognitive Science Center at Johns Hopkins, who urged me to post a summary. Well, here it is: Actually, there seems to be much interest in this comparison; I got lots of replies asking for a summary. But there does NOT seem to be much experience in using one (or preferably both) of the systems in question; I only got 8 real answers, but 3 of them are comming from vendors. 2 of these ones are talking about other systems: the first is Ibuki CL, which is --- as far as I know --- a preprocessor to C; the second one is called LispWorks (I've never heard of this but I would be interested if anyone else has). In a magazine I found an article comparing Lucid, Allegro and Ibuki. The final ranking was: Allegro first, followed by Lucid, and then Ibuki. If you are interested in the details, the article is the following: A Look at LISP Compilers by Nader Kameli UNIX Review, June 1989 In the following, I append the answers I got. My final impression is: Allegro seems to be the prefered product, but the description of the LispWorks system sounds interesting. Thanks again for all of the replies Carsten Schroeder P.S. One of the replies, which came from Harold Boley at the DFKI, got lost somewhere in my mailbox. Could you please send it again, Harold? C.S. | Universitaet Hamburg | Fachbereich Informatik phone: +49 40 4123 6131 | Bodenstedtstrasse 16 FAX: +49 40 4123 6530 | D-2000 Hamburg 50 schroeder@rz.informatik.uni-hamburg.dbp.de | Fed. Rep. Germany ******************************************************************************** From: Kevin Thompson <S=kthompso;OU=ptolemy;OU=arc;O=nasa;P=gov;A=dbp;C=de> Subject: Allegro Common Lisp. Date: Wed, 8 Nov 89 12:30:16 PST We've been on a Sun 3 until recently, but most of what I know applies to Sun 4s. We've chosen Allegro over Lucid, for the following reasons: -- Allegro Composer is/was integrated with X11, while SPE (Lucid) was integrated with SunView. Now, this might matter less in the future, when XView comes out, so maybe SPE will soon work in X as well. -- Composer works within GNU emacs, SPE has its own editor. This has advantages and disadvantages. GNU is (as you know I'm sure) very mature, we were loath to give it up. Of course, the SPE editor has the advantage of being in the same name space as the listener, with lots of advantages there. I really don't have a good feel for how good the SPE editor is. -- Speed: on some of our programs, Lucid has been far faster, but on my system, lucid and franz are pretty similar, so I'm not sure if this is an issue. -- Support: I'm in a very different situation here, since I work 5 minutes from Sun and 20 minutes from Franz Inc. However, I think support is a big plus for Franz; they're a 30 (?) person company, I've been able to speak directly, for instance, to the head of the development group for composer about something I want. In general, SPE might be a bit more mature at present, but I think for the long run Composer and Franz Inc have advantages. I should say, however, that on a Sun3 Composer is slow enough that I don't find it that useful. However, I believe this to be true also for SPE. Good luck. If you get other substantitive comments, your forwarding them to me would be appreciated, we're still able to change our mind in future purchases. Kevin Thompson kthompso@ptolemy.arc.nasa.gov NASA-Ames Research Center, USA -------------------------------------------------------------------------------- From: "Zany Cornetto" <S=chris;P=harlqn;A=co;C=uk> Cc: <S=lispworks-request;P=harlqn;A=co;C=uk> In-Reply-To: schroed@fbihh.UUCP's message of 3 Nov 8 Subject: Sun Common Lisp vs. Allegro Common Lisp I am not able to help you with your comparison of Allegro and Lucid you might be interested in knowing about LispWorks which is Harlequin's Common Lisp implementation and programming environment. Concerning your questions: LispWorks offers a programming environment that is far superior to either Allegro Composer or SPE. Our performance is comparable. We support calls from lisp to c/fortran and from c/fortran to lisp. The intepreter and compiler should be identical. LispWorks includes an CLUE based user interface toolkit. It runs on X11. It is unrealistic to expect any complex software product to be completely bug free, but being a European company we can offer much better support than distant US based companies. I have appended a description of the product. If you have any more questions please do not hesitate to contact either myself or lispworks-request. chris richardson ---------------- chris@harlqn.co.uk, ..!uunet!mcvax!harlqn.co.uk!chris Harlequin Ltd, Barrington Hall, Barrington, Cambridge, CB2 5RG, England. Phone: 0223 872522 (National), +44-223-872522 (International). LispWorks ========= The Product LispWorks is Harlequin's software package for developing and delivering industrial-strength applications written in Common Lisp. The system runs on a wide range of standard hardware platforms, offers comprehensive symbolic processing facilities, and provides general purpose workstations with the power and flexibility of dedicated Lisp platforms. LispWorks is a single, coherent package, integrating the emerging ANSI standard Common Lisp (CL) with an object-oriented programming environment based on the Common Lisp Object System (CLOS), lightweight processes, X-Windows and monochrome and colour graphics. The Approach By designing the programming environment before the underlying language system, Harlequin has engineered an unrivalled degree of internal cohesion into the product. Programming tools are firmly embedded in the environment and both are supported by sophisticated facilities for compilation and interpretation, together with unobtrusive ephemeral garbage collection. The whole package is written in Lisp to enhance consistency, maintainability and extensibility. Fundamental Components LispWorks includes Harlequin's own implementation of Common Lisp (CL) , CLOS and the CL Condition System. CLOS provides the object-oriented facilities employed throughout the package. The Condition System provides comprehensive error handling facilities during program execution. The enhanced Loop Facility is also included to provide flexible iteration. Programming Environment The LispWorks programming environment is based on CLOS and a notion of 'collections' which supports both residential and file-based activity. A collection is a uniform, organisational concept: it takes the form of a CLOS object representing a group of functions, classes, methods, files or any other group of first class items. When a collection has been assembled, LispWorks automatically selects and offers the appropriate generic operations. For example, given a collection of functions, a variety of operations are offered including tracing, editing and displaying a call tree; given a collection of classes, the relevant operations include editing and displaying the class hierarchy. The LispWorks Source Code Manager (SCM) employs systems, plans and a definition database to provide extensive support facilities. The SCM assumes responsibility for source file management, ensuring consistency between files by employing explicit descriptions of the application systems under development. It also constructs and presents plans of how chosen operations - such as compilation - may be performed and maintains a database linking each top level definition with its position in the corresponding source file. Other tools, such as the editor, exploit these automatic links. Tools Programming tools include an Emacs style Lisp Editor, Lisp Listeners and Workspaces, Describers, Inspectors, Browsers, Steppers, Tracers, Advisers, Cross Referencers and Debuggers. Full source level debugging is available for both compiled and interpreted code and there is a hypertext facility supporting on-line documentation. User Interface LispWorks contains an optimised version of CLX the standard CL interface to X-Windows. Harlequin has also implemented a multi-threaded version of CLUE the standard CL User Environment. CLX and CLUE provide a basis for constructing any desired style of user interface. However, Harlequin offers much more. The LispWorks Interface Toolkit extends CLUE to provide a wide range of generic interface components - 'contact classes'. To create interfaces using this toolkit, software developers select the required components; these are combined using the class inheritance mechanism, to yield customised contact classes. The standard user interface for LispWorks was itself constructed in this fashion. The LispWorks Application Framework may be used to structure user interaction. This framework is a generic interaction model for applications. Software developers can employ the model to add user interaction to a core application with a minimum of programming effort. The framework increases productivity and establishes a more coherent style of interaction across applications. External Interfaces LispWorks supports transparent access to external code, data, databases, networks and devices. Interfaces are included to foreign functions/data, SQL databases, the GNU Emacs editor and plain terminals. Foreign language support includes C and FORTRAN. Dependence on host operating systems is minimal. Delivery A variety of tools is provided for turning initial implementations into efficient and compact delivery systems. They are all supported by the underlying design of LispWorks and include a Profiler, Block Compilation and a Run-Time Delivery System. Moreover, the LispWorks compiler may be tuned by software developers to perform application specific optimisations. The Delivery System is a low-cost version of LispWorks which contains sufficient support to run standard applications. Enhancements Harlequin is committed to an extensive programme of development for LispWorks which will maintain the product's position on the leading-edge of Lisp technology. Enhancements include a powerful Distillation Facility which enables the software developer to remove extraneous code, garbage collection and other support facilities from an application. Full advantage can thus be taken of the powerful development environment to produce compact and efficient delivery systems. The whole LispWorks system has been specially designed for this purpose. Another development for LispWorks is a PostScript model with active windowing, applying Harlequin's expertise with the company's ScriptWorks product. Further enhancements include object level database interfaces and a persistent object store, support for functional and logic programming, facilities for parallel, distributed and 'real-time' processing, a choice of 'look and feel', and multi-media support. Further Information For more information about LispWorks, any of the related products, pricing or availability please contact: LispWorks Support Harlequin Limited Barrington Hall Barrington Cambridge CB2 5RG England Tel. : +44-223-872522 Fax. : +44-223-872519 Telex : 818440 harlqn g Email : lispworks-request@uk.co.harlqn lispworks-request@harlqn.co.uk or mcvax!ukc!harlqn!lispworks-request Notes LispWorks and ScriptWorks are trademarks of Harlequin Limited. The Common Lisp - X interface (CLX) and the Common Lisp User Environment (CLUE) are copyright Texas Instruments Incorporated 1987,1988. The X Window System is a trademark of the Massachusetts Institute of Technology. PostScript is a registered trademark of Adobe Systems Incorporated. Other brand or product names are trademarks or registered trademarks of their respective holders. Harlequin reserves the right to alter the specification of LispWorks without notice. Copyright Harlequin 1989 -------------------------------------------------------------------------------- From:David Fleet <S=fleet;OU=ai;O=toronto;P=edu;A=dbp;C=de> Date: Sat, 11 Nov 89 21:54:21 EST hi guy. I am not realy the guy to ask about lisp on the suns. I believe we have allegro (cl). The reason for getting it was 1) it is cheap compared e.g. to lucid. 2) also it is becoming the most common version so that much of the current software is written in allegro. Heeger's image processing package was written for lucid, but guiys here have it running under allegro. that's it really. the person most familiar with the issues would be evangelos milios. his login is eem.etc. I don't know if you know him though. anyway that's my little bit of info for you. later, david. -------------------------------------------------------------------------------- From: <S=bur;O=b21;P=uucp;A=dbp;C=de> Cc: <S=bur;O=b21;P=uucp;A=dbp;C=de> Subject: Re. Sun Common Lisp vs. Allegro Common Lisp Hallo in Hamburg, wir hier in Berlin verwenden seit ca. 4 Wochen Allegro CommonLisp (Version 3.1) auf einer Sun 4/110. Generell sind wir ganz zufrieden damit. Mit SPE und Sun CommonLisp haben wir leider keine Vergleichs- moeglichkeiten. Vorher haben wir mit Delphi CommonLisp gearbeitet (kommt aus Italien, hat CLX und erste CLOS-Implementation). Damit konnte man aber nicht gut arbeiten, daher faellt der Vergleich evt. zu gut fuer Allegro aus. Nun zu den einzelnen Punkten. -- usability and comfort of the environment, esp. the debugger Stepper, Tracer, Inspector und Debugger machen einen guten Eindruck, insbesondere der Debugger gibt recht gute Aufschluesse. Besonders gut ist die Lisp-Emacs Schnittstelle, die von Franz erweitert wurde und viele Moeglichkeiten bietet, die man so von Symbolics kennt. Au~erdem gibt es dann ja noch den AllegroComposer (Zusatzpaket) der eine fensterorientierte Oberflaeche zum Debugger und Inspector bietet. Das sieht auch alles ganz nett aus, aber die Performanz geht selbst bei der Sun 4 in die Knie. -- performance Die Ladezeiten sind ziemlich lang, besonders beim Starten. Ansonsten kann man nicht meckern. -- interface to C and UNIX, esp. possibility to call C routines from LISP, and vice versa Es ist wohl moeglich, und es gibt spezielle Schnittstellen fuer beide Richtungen (C - Lisp). Damit haben wir aber keine Erfahrungen. -- interface to suntools, esp. SunView, and OpenWindows (X) Es gibt eine eigene Fenster-Software (CommonWindows, auch Zusatzpaket), die mit SunView und X11R3 zusammenpasst. Wir arbeiten hier mit CLX (public domain Version wird mit AllegroCL mitgeliefert). -- does the compiler conform to the same semantics as the interpreter? Wir haben noch nichts gegenteiliges feststellen koennen. -- bugs - Hoffentlich konnten wir ein wenig helfen. Wir waeren sehr dankbar, wenn wir die Ergebnisse der Anfrage ans Netz erfahren duerften, da wir ja auch erst anfangen. Falls das AllegroCL bei Euch zum Einsatz kommt, kann man ja vielleicht auch zwecks Erfahrungsaustausch in Kontakt bleiben. Bis dann, Tschuess Birgit Burmeister Birgit Burmeister Daimler-Benz AG Forschungsinstitut Hollaenderstr. 31-34 D-1000 Berlin 51 WEST GERMANY Email: bur@b21.uucp -------------------------------------------------------------------------------- From: <S=bob%ibuki;OU=relay;O=EU;P=net;A=dbp;C=de> Subject: IBUKI Common Lisp >Posted-Date: Wed, 15 Nov 89 15:24:53 PST Carsten, Since you are asking for information on Common Lisp implementations I thought you might like to know about IBUKI Common Lisp. Below is a brief product description. I will send you more complete information by mail. In the meantime, please let me know if I can answer any further questions. IBUKI Common Lisp (IBCL) runs on nearly 40 different platforms and environments. IBCL is a full implementation of Common Lisp containing all of the Common Lisp functions, macros, and special forms specified in the book "Common Lisp: The Language" by Guy Steele Jr. IBCL has a compiler and interpreter, a debugger, tracing functions, an error handling system, an interface to X-windows, and a standardized interface to emacs-like editors. CLX is supported as is CLOS. IBUKI Common Lisp is ideal for use in an educational institution. It will run on small (4mb) workstation configurations, provides identical behavior across all of the supported environments, and has extensive on line documentation. IBUKI offers a department site license for $2500 which provides for the use of IBCL on all machines owned by the department on which IBCL runs. Both source and object distribution are available under this program, which may be extended to cover the entire campus. Software support and new releases are available at nominal charges. More than 1/6th of the computer science departments in North American schools as well as numerous European and Asian schools have now taken advantage of IBUKI's educational program. There is thus a growing international community of universities that use IBUKI Common Lisp as a tool for teaching and research. Contact information follows: Bob Brandt IBUKI PH: (415) 961-4996 1447 North Shoreline Blvd. FAX: (415) 961-8016 Mountain View, CA 94043 email: ibuki!bob@labrea.stanford.edu -------------------------------------------------------------------------------- Date: Mon, 6 Nov 89 09:13:22 PST From: carlson%franz%relay.EU.net@unido (Bill Carlson) Subject: Allegro CL Hello, I saw your mail on the net. Although I am somewhat biased in my opinion of Allegro CL, I'd like to respond to your inquiry directly. Our X-based environment, Allegro CL with Common Windows and Composer, is compact (will run inside of 16MB on SPARC) and offers many easy-to-use facilities. The following is your mail with my comments inserted. -- usability and comfort of the environment, esp. the debugger Our philosophy is to NOT re-invent the wheel, but to take to advantage of and integrate commonly used tools like GNU-Emacs, X-windows many features of Berkeley Unix. We've include things like meta-dot, on-line documentation, "history", "bang-bang" etc... within the Lisp top level and more. On a feature by feature comparison, the tty debugger is comparable to Sun CL's debugger. In Composer, the windowized debugger is powerful and informative. Like other facilities, the debugger pops up in its own customizable window for ease of use and to clearly display debugging information. -- performance Allegro CL's compiler was rewritten for SPARC and compiles extremely fast. Allegro CL produces extremely safe and accurate code while running at ALL settings. Execution speed is about the same as Sun CL except on smaller machines where Allegro CL is much faster due to Sun CL's paging. This is especially true on SPARCstations with slow disks. -- interface to C and UNIX, esp. possibility to call C routines from LISP, and vice versa With Allegro CL you can have Lisp call C, or C call Lisp. This feature is well documented, well tested and very easy to use. -- interface to suntools, esp. SunView, and OpenWindows (X) For compatibilty reasons, we are putting our energies into X rather than proprietary window systems. We interface to X via CLX and have had an X-based product longer than any Lisp vendor. We do have an interface to Sunview where we allow you to call every SunView function directly from Lisp. -- does the compiler conform to the same semantics as the interpreter? Yes. -- bugs Our product is well tested and well debugged. This brings up support, perhaps one of the best reasons to purchase Allegro CL. Franz Inc. has a reputation for having the best support in the industry. Our policy is to respond to any inquiry within the day. You may contact us by phone, Email, Fax, Telex or mail and in many cases talk directly with the core technical people who wrote the code. Maintenance is included free for one year with all licenses. Price is perhaps the last reason to buy Allegro CL, but it is fair to point out that we offer generous academic discounts and site licenses. The following prices are for Sun 4/Sparcstations: Product Standalone Diskless Site ==================================================== Allegro CL $1,875. $937.50 $15,625 Common Windows 312.50 156.25 3,125 Composer 625. 312.50 6,250 Our price list will offer more information on additional discounts and machine availability. I am sending you more information by airmail. Please do not hesitate to contact me anytime if you have any questions or concerns. Regards, Bill Carlson Franz Inc. Sales Manager 1995 University Avenue, Suite 275 INTERNET: carlson@franz.com Berkeley, CA 94704 UUCP: uunet!franz!carlson 415-548-3600, FAX:415-548-8253 -------------------------------------------------------------------------------- From: metal%ztivax@unido (Dr Gregor Thurmair) Date: Mon, 6 Nov 89 08:48:00 -0100 Subject: Allegro vs. Lucid Carsten, ich weiss ein bisschen was ueber dieses Thema: - performance: allegro ist angeblich schneller und etwas kleiner. ich glaube, dass das anwendungsabhaengig ist, man sollte es auf jeden fall mit seiner anwendung ausprobieren. zu dem zweck kriegt man auch von allegro (das wqird ueber die expertise in berlin vertrieben) eine evaluation copy. alle beide sind auf der sun-4 wohl sehr schnell, solang man nicht pagen muss. - das C-Interface ist bei beiden ziemlich aehnlich, beide aktiv und passiv. - Allegro hat CommonWindows, das laeuft unter NeWS und unter X. Lucid hat auch ein windowsystem, das laeuft unter Sunview, ich weiss nicht ob es unter X laeuft. Und von OpenWindows hab ich noch gar nix gehoert. Was soll denn das sein? - bugs: haben sie wohl beide, aber wir konnten eine 40K LOC applikation mit vertretbarem aufwand auf beiden rekompilieren - anpassungen sind notwendig, aber beide produkte sind ziemlich stabil. Wenn Ihr sonst noch irgendwas interessantes rausfindet, wuerdet Ihr bitte mich auch informieen. Danke, Oliver Oliver Gajek Internet: metal@ztivax.siemens.com uucp: mcvax!unido!ztivax!metal Phone: 49/89/636-41493 Fax: 49/89/636-47140 Mail: DI AP 323 Siemens AG Otto-Hahn-Ring 6 D-8000 Munich 83 West Germany ********************************************************************************