<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"><<a href="mailto:martin.drautzburg@web.de" target="_blank">martin.drautzburg@web.de</a>></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 "foo"</font></div><div class="gmail_extra">
<font face="courier new, monospace"> insert 2 "bar"</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,"foo"),(2,"bar")]</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>