johnl@ima.ISC.COM (John R. Levine) (04/13/88)
My apologies if this has been thrashed to death, but are there any decent Lisp implementations that run on a more or less normal 286 PC? Full Common Lisp unnecessary, compiler desirable to avoid dying of old age while waiting for programs to run. Here are ones that I've heard of: Gold Hill Golden Common Lisp: Full CL with compiler, but quite expensive and needs 4 meg to run. Soft Warehouse muLisp-87: Has compiler, claims to run in 640K, costs about $300. Star Sapphire Lisp: Claims to be full CL, compiles into C, has some sort of virtual memory thing. About $450. TI PC Scheme: Byte code compiler, not full CL, editor, library. Only $80. My local BBS system has a copy of KCL, and four PD lisps, PC-Lisp, PCLisp (claimed to be Franz clone), Lisp 2.15, and Xlisp 2.0. Has anybody hand-to-hand combat with any or all of these to report? The TI Scheme sure is cheap, is it any good? TIA, -- John R. Levine, IECC, PO Box 349, Cambridge MA 02238-0349, +1 617 492 3869 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something Rome fell, Babylon fell, Scarsdale will have its turn. -G. B. Shaw
forbus@uiucdcsp.cs.uiuc.edu (04/14/88)
Someone asked about TI's PC Scheme. I've used it a fair amount (i.e., ported one of our research programs to it in order to run it on laptops, random hacking), and it is excellent lisp for that class of machines. I rountinely run it on old, obsolete COMPAQ Pluses (8086) as well as snappier machines, and it does reasonable well. Some features: SPEED: Incremental byte-code compiler, not interpreter, at top level. Probably a bit slower on reading, but alot faster on execution. COMPILER: You can compile files and produce "fasload" files, in the style of MACLISP. (In fact, a good way to program in PC-Scheme if you've been around a while is to close your eyes and say, "It's 1975, what would I do next?") ENVIRONMENT: Again, about as well as you can do on this class of hardware. While TI succumbed to the Lisp-implementor's macho and built their editor in Scheme, it is acceptable for very small files. For serious programs, buy Software Carousel and use your own favorite programming editor (I like Final Word, with appropriate macros for paren balancing). Reasonable window system if you want to build fancy interfaces. Reasonable trace system. QUALITY: I haven't found any bugs, which is actually a little surprising since I tend to break Lisp systems. Only one or two pieces of brain-damage in the design (i.e., the attempt to clone DEFSTRUCT, which has the default printing of a structure be a list of its components (the CL default) but NOT providing the ability to define a printing function (which CL does). This makes it useless for building any descriptions involving backpointers, in other words, pretty useless.) If you want to hack Lisp on PC's and you can live without Common Lisp then I think TI's PC-Scheme is the lisp to get. (I don't think you can really live WITH Common Lisp on anything smaller than a 386, personally. And I have my doubts about them...) Even if you really long for Common Lisp, you can do surprisingly well by defining DEFSTRUCT, SETF, and a package for faking keyword definitions.
leverich@randvax.UUCP (Brian Leverich) (04/14/88)
In article <950@ima.ISC.COM> johnl@ima.UUCP (John R. Levine) writes: >My apologies if this has been thrashed to death, but are there any decent >Lisp implementations that run on a more or less normal 286 PC? I use LISP on a 286 every day, and I've used several different packages and evaluated most of the products on the market. Be aware that there are _major_ differences between PC LISPs in speed (both symbolic and numeric processing), storage capacity (cons space of only 16k dtprs or less is obscenely common), I/O flexibility, and flexibility in interfacing with other languages. Not to mention some PC LISPs require unusual hardware configurations. (There are also differences in the development environment, but most of that strikes me as frills for wimps who like to do programming by exhaustive search rather than getting it right in the first place.) Comments on the LISPs I've used enough to know well. PCLISP is slow, sparse on functions, but does provide fairly large data spaces. It seems to run on anything that looks even vaguely like a PC. It's also cheap and available. UOLISP reflects a set of interesting design choices. It has only 16k dtprs, and given the way it stores bignums and reals in cons space it can only hold a thousand or so of those guys. Numerical processing is painfully slow. On the other hand, on a 640k PC UOLISP can accommodate more than 300k of compiled functions, which is a _lot_ of code. Moreover, compiled UOLISP is blazingly fast at symbolic manipulations. The language also includes its own assembler, so you can write your own DOS function calls and do all sorts of creative things. I mainly use UOLISP in my day-to-day work. TI Scheme is fairly fast and supports fairly large data spaces (that means it has a cons space somewhere around 64k and can accommodate 16k-32k real numbers). Math is much faster than UOLISP, although it is finite precision. Interfaces to other languages are supposed to be fairly smooth, although I haven't tried this myself. For more (and generally better (-:) product reviews, you might look at the following articles: Byte, July 1986, p. 293: BYSO LISP and Waltz LISP. Byte, Oct 1986, p. 249: muLISP-86. Computer Language, Aug 1986, p. 93: ExperLISP, Gold Hill, BYSO, muLISP, UO-LISP, TLC-LISP. Computer Language, Jul 1987, p. 137: ExperLISP, Gold Hill, IQLISP, muLISP Star Sapphire, TransLISP, Waltz. AI Expert, Mar 1988, p. 67: many LISPs..., lousy detail. Good luck--choosing the right LISP isn't easy. -- "Simulate it in ROSS" Brian Leverich | U.S. Snail: 1700 Main St. ARPAnet: leverich@rand-unix | Santa Monica, CA 90406 UUCP/usenet: decvax!randvax!leverich | Ma Bell: (213) 393-0411 X7769
leverich@randvax.U: P (Brian Leverich) (04/14/88)
In article <950@ima.ISC.COM> johnl@ima.U:CP (John R. Levine) writes: >My apologies if this has been thrashed to death, but are there any decent >Lisp implementations that run on a more or less normal 286 PC? I use LISP on a 286 every day, and I've used several different packages and evaluated most of the products on the market. Be aware that there are _major_ differences between PC LISPs in speed (both symbolic and numeric processing), storage capacity (cons space of only 16k dtprs or less is obscenely common), I/O flexibility, and flexibility in interfacing with other languages. Not to mention some PC LISPs require unusual hardware configurations. (There are also differences in the development environment, but most of that strikes me as frills for wimps who like to do programming by exhaustive search rather than getting it right in the first place*) Comments on the LISPs I've used enough to know well. PCLISP is slow, sparse on functions, but does provide fairly large data spaces. It seems to run on anything that looks even vaguely like a PC. It's also cheap and available. UOLISP reflects a set of interesting design choices. It has only 16k dtprs, and given the way it stores bignums and reals in cons space it can only hold a thousand or so of those guys. Numerical processing is painfully slow. On the other hand, on a 640k PC UOLISP can accommodate more than 300k of compiled functions, which is a _lot_ of code. Moreover, compiled UOLISP is blazingly fast at symbolic manipulations. The language also includes its own assembler, so you can write your own DOS function calls and do all sorts of creative things. I mainly use UOLISP in my day-to-day work. TI Scheme is fairly fast and supports fairly large data spaces (that means it has a cons space somewhere around 64k and can accommodate 16k-32k real numbers). Math is much faster than UOLISP, although it is finite precision. Interfaces to other languages are supposed to be fairly smooth, although I haven't tried this myself. For more (and generally better (-:) product reviews, you might look at the following articles: Byte, July 1986, p. 293: BYSO LISP and Waltz LISP. Byte, Oct 1986, p. 249: muLISP-86. Computer Language, Aug 1986, p. 93: ExperLISP, Gold Hill, BYSO, muLISP, UO-LISP, TLC-LISP. Computer Language, Jul 1987, p. 137: ExperLISP, Gold Hill, IQLISP, muLISP Star Sapphire, TransLISP, Waltz. AI Expert, Mar 1988, p. 67: many LISPs..., lousy ds:ail. Good luck--choosing the right LISP isn't easy. -- "Simulate it in ROSS" Brian Leverich | U.S. Snail: 1700 Main St. ARPAnet: leverich@rand-unix | Santa Monica, CA 90406 UUCP/usenet: decvax!randvax!leverich | Ma Bell: (213) 393-0411 X7769
bobmon@iuvax.cs.indiana.edu (RAMontante) (04/15/88)
In article <950@ima.ISC.COM> johnl@ima.UUCP (John R. Levine) writes: [...] >Here are ones that I've heard of: [...] >TI PC Scheme: Byte code compiler, not full CL, editor, library. Only $80. [...] >Has anybody hand-to-hand combat with any or all of these to report? The TI >Scheme sure is cheap, is it any good? I like TIScheme quite a bit. As long as you have the memory, it's pretty thorough. Scheme has some variations from lisp, such as treating functions just the same as any other data object in terms of referencing/dereferencing, passing them around; it also emaphasizes block structuring and scoping much more than I find in lisp. You can manipulate the environments as data objects, if you really want to, for example. Example: I wrote a simulation of a (very _tiny_) computer in Scheme, starting at the flipflop level, that could run a program. Only 4 address bits, so it had only 16 words of 4-bit memory, but making it bigger would have just been a bit more tedious (it was bit-sliced). disclaimer: a number of people (not including me) worked with or at TI on the package's development. On the other hand, I'm not much of a lisp hacker. RAMontante, bobmon @ any of iuvax.cs.indiana.edu, Computer Science (one of 'em ) silver.bacs.indiana.edu, Indiana University (should be up) iucs.cs.indiana.edu