<div dir="ltr">For the record, 'self-adjusting computation' is also known as 'incremental computation'. The latter term is overloaded, as you might imagine.<br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">-- Kim-Ee</div></div>
<br><div class="gmail_quote">On Tue, May 12, 2015 at 6:26 PM, Jake McArthur <span dir="ltr"><<a href="mailto:jake.mcarthur@gmail.com" target="_blank">jake.mcarthur@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">This looks more like self-adjusting computation than functional reactive programming. There's a lot of good literature on this topic that's pretty easy to find on Google. Hope this helps! <br>
</p>
<br><div class="gmail_quote"><div><div class="h5">On 8:36PM, Sun, May 10, 2015 Clinton Mead <<a href="mailto:clintonmead@gmail.com" target="_blank">clintonmead@gmail.com</a>> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div>What I want to be able to do is something like this:</div><div><br></div><div>do</div><div>x <- newSTRef 2</div><div>y <- newSTRef 3</div><div>z <- letSTRef (x + y)</div><div>r1 <- readSTRef z</div><div>writeSTRef x 5</div><div>r2 <- readSTRef z</div><div>return (r1, r2)</div><div><br></div><div>This should return (6,15)</div><div><br></div><div>The "letSTRef" is what's new. The value it returns can change based on the parts that make up it's function changing.</div><div><br></div><div>I understand this syntax above isn't going to work (I'd have to use applicative at least I'd imagine) but my main question is that does something like this exist? Is it functional reactive programming or is it something else?</div><div><br></div><div>I don't want to be reinventing the wheel if this type of idea is already implemented but I haven't recognised it.</div><div><br></div></div></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div></div>