This page is part of the web mail archives of SRFI 25 from before July 7th, 2015. The new archives for SRFI 25 are here. Eventually, the entire history will be moved there, including any new messages.
Noel Welsh writes: > The Psi calculus is a calculus of array manipulation, analogous to > the lambda calculus and functions. I think it should be considered > as a theoretical basis for srfi-25. Wonderful. Thank you. > (e.g. http://www.informatik.uni-kiel.de/~sacbase/array.html) I looked at this page. It is indeed a close relative and good to know about. It doesn't provide sharing as a primitive notion. I suppose it relies on a compiler to avoid a lot of unnecessary copying. > The implications for srfi-25 are fairly minor - it would basically > require adding a few more primitive operations to the library. The > imperative procedure array-set! would then be redundant I think, 1) modarray single element case in Scheme would _be_ array-set!, not make it redundant; 2) reshape is partly provided by share-array and partly not provided in current srfi-25; the row major stuff mentioned in Issues would provide the latter part; 3) most of the rest is covered by build-array or similar, which might be a basic operation in another srfi (it's in Issues now); > and it will be possible to do a lot of optimisations on array code > (see, e.g. the SAC papers). 4) there is no way around Scheme being an imperative language with runtime typing; static compiler optimisations are not in reach, nor is anything restricted to single assignment. -- Jussi