[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]

[In reply to Griss's set of questions for members to answer:]
We have a range of interests represented by people on this mailing
list, and I'd like to ask a few questions to get things rolling again.

1. What LISP or LISPs do you currently use?
[My favorite among those I've used is MacLISP at MIT-MC, but since Stanford
 no longer provides 1200-baud dialup access into the Arpanet I'm back at
 300 baud to MIT-MC and I haven't used it much lately. I'm actively using
 and developing PSL at IMSSS (Tenex) and PASC (VM/CMS). Long ago I used
 Stanford LISP 1.6 and UCI-LISP, but gave them up long ago.]

2. Are you primarily a user or an implementor?
[Both. LISP is my language of choice for any task it can handle if I'm
 on a machine that has it, although I occasionally have to write some
 utility program in SAIL if LISP is too inefficient (the SCAN function
 in SAIL is handy and very fast, I wish PSL had something like it) or if
 I just happen to know how to write a one-shot task quickly in SAIL but
 would have to do a lot of figuring to get it written in LISP. But for any
 largescale program I always write in LISP, so I'm a major LISP user.
 I write application software and general support utilities, but lately
 at IMSSS for pay I'm getting into implementation of the kernel.]

3. For those of you who are currently using non-common LISP's, such as
InterLISP, FranzLISP, PSL, etc, what is your plan for Common LISP?
[Wait until CL is available on a machine I have access to, then give it
 a try to see if it can do what I want at similar speed. If it takes twice
 as long to run a program in CL as in PSL, I'll stay with PSL, otherwise
 I'll probably try switching to CL. If I can get my hands on a translator
 that works, I'll use it, else I'll manually do it with EMACS macros and
 backwards-compatibility functions. (I already have such functions for
 supporting various MacLISP, Standard-LISP, and personal functions in
 terms of PSL primitives, such as ML-LET which is like LET in MacLISP
 with destructuring which I use all over the place. I wish CL had
 destructuring available. In any case I will keep programming in some
 form of LISP until something better comes along, which is unlikely.]

5. If your plan includes the identification of a subset CL
   (perhaps because you only need or can only afford to implement
    a subset on your machine, in your compatibility module, or
    your translator), 
   could you summarize what criteria you are using to define your subset?
[The mimimal subset should run on an Altair 8800a (8080 cpu) with 28k bytes
 of RAM. A little more reasonable subset should run on an IBM PC with the
 minimum memory configuration that starting computer users might already
 have bought. A really decent subset should run on a PDP-10 under Tenex.]

6. Some of the previous messages indicated that subsets were important for:
   For what reasons might you consider a subset?
[For running on small machines, and to simplify bootstrapping on a new machine.]

7. Do you see a single subset as sufficient, or do you envision a family
   of subsets, appropriate for different reasons?
[Mostly I see a heirarchy of subsets, from bare-minimum to whole ball of
 wax and can of worms, with possible branches like bare-minimum with
 floating point but not packages, or packages but not floating point, etc.]

8. Do you have a subset proposal ready to present to this group, or are
   you working on one?
[I have no formal proposal at this time, but a while back I went through a
 LISP manual identifying those functions which were absolutely essential to
 get any LISP running at all, versus those which had their uses but weren't
 essential in every program. I think fewer than a hundred functions were
 in the former category. If somebody is interested I can fish out my notes
 and send my DRASTIC-TEENSY-TINY-LISP subset proposal as a starting point
 for very-minimal subset discussions.]