<br>On Sat, Sep 24, 2011 at 01:41, Edward Kmett wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#FFFFFF"><div>You still need IO to get the stable name out to use. :)<br>
</div></div></blockquote><div><br></div><div>I don't understand this statement. Consider the lookup operation in the paper and in your System.Mem.StableName.Map:</div><div><br></div><div>> lookupSNMap :: SNMap k v -> StableName k -> IO (Maybe v)</div>
<div><br></div><div>> lookup :: StableName a -> Map f -> Maybe (f a)</div><div><br></div><div>Unless you are intending f to be instantiated to IO -- which is not how I read it -- then, lookupSNMap is requiring some aspect of IO, probably mutability, and lookup is not.</div>
<div><br></div><div>I am wondering if there is some fundamental difference between the two. Is the paper using immutability only for performance reasons? In that case, it's not a fundamental difference.</div><div><br>
</div><div>Regards,</div><div>Sean</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#FFFFFF"><div>Sent from my iPad</div><div><div></div>
<div class="h5"><div><br>On Sep 23, 2011, at 5:33 AM, Sean Leather <<a href="mailto:leather@cs.uu.nl" target="_blank">leather@cs.uu.nl</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>Hi Edward,<br>
<br>
<div class="gmail_quote">On Thu, Sep 22, 2011 at 16:50, Edward Kmett wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have a "stable-maps" package that provides lookup and inserting into a map via stable names.</blockquote>
</div><br><div>The paper mentions the need for a mutable finite map, and all the operations are IO. Do you know why this is and what's different with your pure implementation?</div><div><br></div><div>Regards,</div><div>
Sean</div>
</div></blockquote></div></div></div></blockquote></div><br>