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

COMMON LISP is the PL/I of LISPs



    From: Seth Steinberg <sas at BBN-VAX.ARPA>
    To:   scheme at mit-mc.ARPA
    Re:   COMMON LISP is the PL/I of LISPs

    Actually, I think COMMON LISP will do better than PL/I did as a usable
    standard.  Personally I think Scheme is the APL of LISPs.  It's great
    for writing clever, unreadable hacks.  Actually, the analogy could go:

I take exception to that.  Unlike APL, Scheme uses the popular set of
characters known as ASCII, which is a superset of the English
characters, and is therefore quite readable.  In fact, by definition,
Scheme programs are also trivialy parseable (sic).  Take, for example,
this simple procedure (attributable to GJS, I believe):

1 ==> (pp mapcar)
(LAMBDA (F . LISTS)
  (IF LISTS
      (LET LOOP ((LISTS LISTS))
        (LET SCAN
             ((LISTS LISTS)
              (C
               (LAMBDA (CARS CDRS) (ACCUMULATOR (APPLY F CARS) (LOOP CDRS)))))
          (IF LISTS
              (IF (CAR LISTS)
                  (SCAN
                   (CDR LISTS)
                   (LAMBDA (CARS CDRS)
                     (C (CONS (CAR (CAR LISTS)) CARS)
                        (CONS (CDR (CAR LISTS)) CDRS))))
                  INITIAL-VALUE)
              (C () ()))))
      (ERROR "No arguments to mapping function"
             (LIST (LIST MAPPER-GENERATOR ACCUMULATOR INITIAL-VALUE) F))))


							SMC