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

[jinx@CHAMARTIN.AI.MIT.EDU: Extending the address space of MIT Cscheme (long reply)]



Date: Thu, 5 May 88 15:36:01 edt
From: jinx@CHAMARTIN.AI.MIT.EDU (Guillermo J. Rozas)
To: gls@Think.COM
Cc: Stever@waikato.s4cc.symbolics.com, cph@zurich.ai.mit.edu
In-Reply-To: gls@Think.COM's message of Thu, 5 May 88 12:15:17 EDT <8805051615.AA03188@kali.think.com>
Subject: Extending the address space of MIT Cscheme (long reply)
Reply-To: jinx@zurich.ai.mit.edu


       I was under the impression that LISP's numeric inefficiency was, in general, a
       fallacy.  Didn't MacLISP generate better numeric code than DEC's FORTRAN, some
       years back?

       - Stephen

    See, for example, the following two references:

    Fateman, Richard J.  "Reply to an Editorial."  ACM SIGSAM Bulletin 25
    (March 1973), 9-11.

    Brooks, Rodney A., Gabriel, Richard P., and Steele, Guy L., Jr.  An
    optimizing compiler for lexically scoped LISP.  Proceedings of the 1982
    Symposium on Compiler Construction.  ACM SIGPLAN (Boston, June 1982),
    261-275.  Proceedings published as ACM SIGPLAN Notices 17, 6 (June 1982).

MacLisp is, unfortunately, essentially dead, and S-1 Lisp (as far as I
know) only ran on the S-1.  I'm not claiming that this task is
impossible (I know it isn't and one of the current main goals in the
MIT Scheme project is improving the efficiency of numeric code),
merely that I don't believe there are widespread implementations
running on stock hardware which can compete RIGHT NOW.  I hope I'm
wrong, but I fear I'm not.

The sad fact of life is that most of the Lisp community does not care
about numeric code, and the few exceptions in the community are rare
and seen as odd birds.  The only widespread Lisp compiler that has
provided good performance (MacLisp) required (from what I've heard)
over 10 man-years of implementation (by JONL, you (GLS), and others).
Most Lisp compiler writers have not attempted to match this, and often
good performance is obtained only by using arcane declarations which
only implementors can manage.