[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Extending the address space of MIT Cscheme (long reply)
re: . . . What's wrong with
coding a commonly used procedure in a language which will make it more
efficient? Please show me a Lisp which can compete with C in this
regard. If you manage to do this, I strongly suspect that the number
of arcane declarations in the Lisp code will make it at least as
unreadable as C, so you're no better off.
Two points:
(1) nothing is wrong with coding an essentially numerical algorithm
in the language classically used to code numerical algorithms
(such as FORTRAN/ALGOL/ADA/PASCAL/C etc). That's one reason why
"industrial strength" Common Lisps have a convenient foreign
function interface. [see article in most recent issue of Lisp
Pointers]
(2) Here are names of two generally available Lisps which can frequently
compete with C in writing numerical code like FFT: PDP10 MacLisp
and Lucid Common Lisp. Furthermore, I challenge your presumption
that any such Lisp-written code will be unintelligible due to
"arcane" declarations [mostly I challenge the underlying assumption
(if in fact you are making it) that *any* declarations in Lisp are
"arcane".] While it is true that most variables in such a program
will be declared of type fixnum, or float, or array-of-float (and
some function types will be proclaimed too), the number of source
lines of code devoted to such declarations, compared to the total
amount of source code, is down in the noise.
Looking ahead in the mails, I see that GLS has already sent out references
to the early successes of MacLisp (1973!). It would be difficult for me
to say more about Lucid Common Lisp now without appearing to be self-
serving; suffice it to say that you could contact me privately, or RPG@SAIL,
and ask for substantiation of the above statements.
-- JonL --
P.S. I suspect that ZetaLisp on a Lisp Machine produces numerical code
that competes with C/FORTRAN on such machines (to my knowledge,
only Symbolics has such compilers -- but I really don't know about
TI and the now-defunct LMI). You must have meant "a Lisp which can
compete with C" on stock hardware.