<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 8, 2016 at 8:31 PM, Björn-Egil Dahlberg <span dir="ltr"><<a href="mailto:wallentin.dahlberg@gmail.com" target="_blank">wallentin.dahlberg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Have you repeated some code or built your own private lib to handle certain maps specific tasks and thought "why isn't this in the maps module?"</blockquote></div><br></div><div class="gmail_extra">One function I like to have is "apply update via function", and I implement it somewhat often:<br><br></div><div class="gmail_extra">maps_apply(F, K, Map) -><br></div><div class="gmail_extra">    V = maps:get(K, Map),<br></div><div class="gmail_extra">    maps:put(K, F(V), Map).<br><br></div><div class="gmail_extra">But it can be made much faster in a direct implementation since I don't have to first pick up the value: I can apply F when I sit with the value at hand and thus avoid the "put" lookup path. It might, however, be nasty to implement because F is in Erlang-context, whereas the maps operations are in BIF-context.<br></div><div class="gmail_extra"><br clear="all"><br>-- <br><div class="gmail_signature">J.</div>
</div></div>