Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cbatt!ihnp4!inuxc!pur-ee!uiucdcs!uxc.cso.uiuc.edu!ccvaxa!aglew From: aglew@ccvaxa.UUCP Newsgroups: comp.lang.lisp Subject: Re: LISP floating point performance Message-ID: <31800002@ccvaxa> Date: Wed, 11-Mar-87 23:03:00 EST Article-I.D.: ccvaxa.31800002 Posted: Wed Mar 11 23:03:00 1987 Date-Received: Fri, 13-Mar-87 21:57:21 EST References: <1368@hplabsc.UUCP> Lines: 37 Nf-ID: #R:hplabsc.UUCP:1368:ccvaxa:31800002:000:1954 Nf-From: ccvaxa.UUCP!aglew Mar 11 22:03:00 1987 >I think most people who want to do good floating point would tend to >want to code the numerical part in C or FORTRAN, or, better yet, >use an existing FORTRAN library, like IMSL, where they don't need >to code anything at all, but simply reuse an existing library. >The existence of good foreign function calling capabilities in >modern Lisps makes this an attractive option to coding the entire >application in Lisp. This allows developers to use Lisp for symbolic >processing, which most existing implementations do well, and use >C, FORTRAN, or a FORTRAN library for numerical code, which these >implementations tend to stress. This would argue for improving >foreign function calling to make it as fast and as CONSless as >possible. > >Not that good floating point optimization for Lisp isn't an interesting >problem, but, as a practical matter, there are other ways to achieve >the same result which may be less expensive in the end. > > Jim Kempf kempf@hplabs.hp.com Using foreign functions as an excuse for not providing efficient floating in LISP is a cop-out. Reusing existing code is fine - but if you're writing a new numeric algorithm (and not all numeric analysis was finished by the 60s) it would be nice to use a decent language, with decent macro facilities, and the ability to manipulate the program as data. I mean, have you ever tried to develop a generic interface to integration routines that work over arbitrary regions in N-space? Mathematical notation was invented to simplify thinking - it would be nice if I didn't have to know the 10 billion names of integrate in IMSL, but could have the language choose them for me (perhaps after asking me a few questions about the data). To be fair, Jim Kempf wasn't saying this - but I've sat in on conversations where it has been said. Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew 1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms.arpa