<div dir="ltr"><div class="gmail_extra">Hi.</div><div class="gmail_extra"><br><div class="gmail_quote">On 21 July 2013 17:23, martin <span dir="ltr">&lt;<a href="mailto:martin.drautzburg@web.de" target="_blank">martin.drautzburg@web.de</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":19a" style="overflow:hidden">I just want to insert several key/value pairs, something like<br>


<br>
Map.empty<br>
insert key1 val1<br>
insert key2 val2<br>
return theMap<br></div></blockquote></div><div class="gmail_extra"><br></div>If you really want this syntax, what about using the writer monad:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">

<font face="courier new, monospace">import Control.Monad.Writer</font></div><div class="gmail_extra"><font face="courier new, monospace">import qualified Data.Map as M</font></div><div class="gmail_extra"><font face="courier new, monospace"><br>

</font></div><div class="gmail_extra"><font face="courier new, monospace">m = execWriter $ do</font></div><div class="gmail_extra"><font face="courier new, monospace">    insert 1 &quot;foo&quot;</font></div><div class="gmail_extra">

<font face="courier new, monospace">    insert 2 &quot;bar&quot;</font></div><div class="gmail_extra"><font face="courier new, monospace">    where insert k v = tell (M.singleton k v)</font></div><div class="gmail_extra">

<font face="courier new, monospace">-- m = fromList [(1,&quot;foo&quot;),(2,&quot;bar&quot;)]</font></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Hope this helps,</div>

<div class="gmail_extra">Ozgur</div><div class="gmail_extra"><br></div>
</div></div>