You give me more credit for forward thinking than I deserve. I was planning on having array-set!. I&#39;m not sure how to avoid it at the primitive level - I just won&#39;t have enough information at the time I create the underlying vectors to make them immutable (and there are no immutable SRFI vectors that I&#39;m aware of). Of course, that doesn&#39;t mean I have to expose the underlying vectors or array-set! in the interface. That would make them logically immutable, but not in a manner than helps the GC system, for example.<br>
<br><div class="gmail_quote">On Fri, Aug 14, 2009 at 3:50 AM, Noel Welsh <span dir="ltr">&lt;<a href="mailto:noelwelsh@gmail.com">noelwelsh@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Fri, Aug 14, 2009 at 5:09 AM, Doug<br>
<div class="im">Williams&lt;<a href="mailto:m.douglas.williams@gmail.com">m.douglas.williams@gmail.com</a>&gt; wrote:<br>
</div><div class="im">&gt; My hope would be that he we do some of this groundwork and get the semantics<br>
&gt; right, you could try for grants to fund the compiler speedups.<br>
<br>
</div>This is one hell of an interesting project. I noticed you have no<br>
array-set!, and I think this is good. I was going to write a long<br>
spiel about compiler technology, but if Matlab is fast enough with<br>
copy on write I&#39;m sure Scheme will be.<br>
<br>
The current best example of a functional language w/ good numeric<br>
performance is SAC <a href="http://www.sac-home.org/" target="_blank">http://www.sac-home.org/</a>  Stealing their array<br>
comprehensions (with loops) is probably a good idea. Alternatively the<br>
work in Haskell on nested data parallelism might provide some<br>
inspiration.<br>
<font color="#888888"><br>
N.<br>
</font></blockquote></div><br>