unfortunately someone has managed to scrub all the PDFs off the internet.
CM-LISP to me is kind of the holy grail of implicit parallelism. its kind of a relational paradigm but organized around recursive distributed mappings.
the only way that I can think to compile it is to build something like a relational query optimizer. except (I'm pretty sure(?)) mappings are first-class objects and the distributions of the underlying sets are fully dynamic.
so that's already a lot to try to come to grips with, but in this case the target is SIMD. which would in theory permit fulfillment of the CM thesis - arbitrarily scalable general computers without the overhead of reactive consistency (cache coherency).
CM programming was actually not that bad - but you needed to lay everything out in 2^n cartesian meshes. CM-LISP is just a free-for-all in terms of domain organization. actually I do really want to find the pdf again because its a much nicer model than graph-ql
I kind of suspect that it can't be compiled effectively, but last time I checked I'm only like 0.05 Steeles. I don't _know_ that it would turn out to be as compelling a programming model as I think, but would love to find out.
[there is a strong implication in the thesis that layout was intended to be dynamically optimized - so maybe the compiler issue isn't as terrible as I think]
CM-LISP to me is kind of the holy grail of implicit parallelism. its kind of a relational paradigm but organized around recursive distributed mappings.
the only way that I can think to compile it is to build something like a relational query optimizer. except (I'm pretty sure(?)) mappings are first-class objects and the distributions of the underlying sets are fully dynamic.
so that's already a lot to try to come to grips with, but in this case the target is SIMD. which would in theory permit fulfillment of the CM thesis - arbitrarily scalable general computers without the overhead of reactive consistency (cache coherency).
CM programming was actually not that bad - but you needed to lay everything out in 2^n cartesian meshes. CM-LISP is just a free-for-all in terms of domain organization. actually I do really want to find the pdf again because its a much nicer model than graph-ql
I kind of suspect that it can't be compiled effectively, but last time I checked I'm only like 0.05 Steeles. I don't _know_ that it would turn out to be as compelling a programming model as I think, but would love to find out.
edit: I did find some cm-lisp related material in Hillis's thesis at https://dspace.mit.edu/bitstream/handle/1721.1/14719/1852428...
[there is a strong implication in the thesis that layout was intended to be dynamically optimized - so maybe the compiler issue isn't as terrible as I think]