gjc@mitech.COM (03/10/90)
It is not unusual to want to have an interpreted language as a front-end for intensive numerical computations. I know of at least one case of a serious physics simulation efforts at Livemore Labs that uses Scheme as a toplevel for both interactive and Batch jobs for programs mostly written in C. Even a casual look at more advanced solution/simulation techniques for partial differential equations shows a rather heavy use of LIST STRUCTURE, even if this codes are written in FORTRAN. But considering what data to have as lists, what to have as arrays, how much copying to do, compacting, data movement, the impact of virtual memory or the need to swap data in non-virtual memory implementations (e.g. the CRAY), this can all get rather hairy, and you have to connsider the low-level representations in detail. (Consider the 5-way memory interleave on the CRAY-1). I'm a proponent of keeping the initial lisp part of the program as small and simple as possible, and to allow the lisp/c subroutine interface be as NATURAL as possible. My studies indicate that SIOD is better than XLISP, XSCHEME, or ELK inn these matters. Anyone who wants to can consider for themselves: Anonymous FTP to BU.EDU, cd to users/gjc and get siod-v2.3-shar. -gjc