<div dir="ltr">I don´t know the new versions, but acid-state is not incremental. it writes everithing.<div><br></div><div>the package TCache is incremental. it uses HasTables instead of a map. It works in the STM monad. And it is incremental with configurable persistence.</div><div><br></div><div><a href="https://hackage.haskell.org/package/TCache">https://hackage.haskell.org/package/TCache</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-10-10 22:15 GMT+02:00 Britt Mathis <span dir="ltr"><<a href="mailto:britt.mathis@gmail.com" target="_blank">britt.mathis@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Someone on irc mentioned acid-state remote (it may have even been you), I will definitely be using it. My only worry is that I only have 512MB of Ram to work with atm, which should be fine until I have several thousand users. I see on the acid state website that I would need to integrate with something else to provide the ability to have a data structure larger than memory (I may be missing or misunderstanding something), would it be trivial to add this in later or should I be worried about it now? </p><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On Oct 10, 2014 4:10 PM, "David Johnson" <<a href="mailto:djohnson.m@gmail.com" target="_blank">djohnson.m@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I recommend looking into Data.Acid.Remote if you plan on using acid-state. Will allow you to inspect your state using ghci. <br><br><a href="http://hackage.haskell.org/package/acid-state-0.12.2/docs/Data-Acid-Remote.html" target="_blank">http://hackage.haskell.org/package/acid-state-0.12.2/docs/Data-Acid-Remote.html</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 10, 2014 at 2:55 PM, Britt Mathis <span dir="ltr"><<a href="mailto:britt.mathis@gmail.com" target="_blank">britt.mathis@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">I was told about acid-state on irc,  but I wasn't sure if it did the incremental part - it looks like it will be perfect, thank you. And I will definitely check out that paper as well. </p><div><div>
<div class="gmail_quote">On Oct 10, 2014 3:37 PM, "Nicolas Trangez" <<a href="mailto:nicolas@incubaid.com" target="_blank">nicolas@incubaid.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, 2014-10-10 at 23:29 +0400, Nikita Volkov wrote:<br>
> There's "acid-state", which provides a log-based persistence model. I.e.,<br>
> it persists the modifications you make to the data structure.<br>
<br>
You might also be interested in the paper 'Generic Storage in Haskell'<br>
by Sebastiaan Visser, and his thesis about the same subject.<br>
<br>
Nicolas<br>
<br>
><br>
> 2014-10-10 23:09 GMT+04:00 Britt Mathis <<a href="mailto:britt.mathis@gmail.com" target="_blank">britt.mathis@gmail.com</a>>:<br>
><br>
> > Hello everyone,  I'm not sure if something like this already exists so I<br>
> > figured I would ask here first before I reinvent the wheel. What I need is<br>
> > a data structure that behaves like Data.Map, but is serialized to disk<br>
> > incrementally so I only have the overhead of writing what has changed every<br>
> > time.<br>
> ><br>
> > _______________________________________________<br>
> > Haskell-Cafe mailing list<br>
> > <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
> > <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
> ><br>
> ><br>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br>
<br>
</blockquote></div>
</div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Cell: <a href="tel:1.630.740.8204" value="+16307408204" target="_blank">1.630.740.8204</a>
</div>
</blockquote></div>
</div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Alberto.
</div>