<div dir="ltr">If it already exists, I couldn't find it. There isn't a functional 'vector-set' either, and when I asked about it on IRC I was told that it wasn't an easy fix to add an efficient implementation.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 14, 2014 at 7:19 PM, Alexander D. Knauth <span dir="ltr"><<a href="mailto:alexander@knauth.org" target="_blank">alexander@knauth.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Is there a functional "array-set" for math/array?<div><br></div><div>And if there isn’t, then would this be a good definition for it?:</div>
<div><div><font face="Courier New">(: array-set : (All (a) [(Array a) In-Indexes a -> (Array a)]))</font></div><div><font face="Courier New">(define (array-set arr update-pos val)</font></div><div><font face="Courier New">  ((inst build-array a)</font></div>
<div><font face="Courier New">   (array-shape arr)</font></div><div><font face="Courier New">   (lambda ([pos : Indexes])</font></div><div><font face="Courier New">     (cond [(equal? pos update-pos) val]</font></div><div>
<font face="Courier New">           [else (array-ref arr pos)]))))</font></div></div><div><br></div><div><br></div></div><br>____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div><br></div>