<div class="gmail_extra"><div class="gmail_quote">Den 22. apr. 2012 22.17 skrev Erik Søe Sørensen <span dir="ltr"><<a href="mailto:eriksoe@gmail.com" target="_blank">eriksoe@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra">[how do you tell gmail about the "mailing list" concept, so that it will default to "reply to list", rather than "reply to sender"?...]<br><br>I've been considering how to implement this ["?=" / better codegen for guards] without disturbing things too much - in particular, without making changes to Core Erlang.<div>
<div><br>
<div class="gmail_quote"><div class="gmail_extra">I believe that I can argue that the desired extentions simply cannot in general be represented with Core Erlang (at least not without duplicating code or tests).<br>
<br>These examples may not be minimal, but should illustrate that there is a problem:<br> a) receive T when element(1,T) ?= <<1,_>> -> ... end<br>
b) receive T when L ?= tuple_size(T), element(1,T) ?= <<D:L>> -> D end<br></div></div></div></div></div></blockquote><div><br>Pardon me - I seem to have gotten these (partially) backwards... should of course be:<br>
a) receive T when <<1,_>> ?= element(1,T) -> ... end<br>
b) receive T when L ?= tuple_size(T), <<D:L>> ?= element(1,T) -> D end<br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail_extra"><div><div><div class="gmail_quote"><div class="gmail_extra">These don't even include 'orelse'.<br><br>a) is quite simple, but could be fixed with appropriate new guard BIFs for binaries. Lacking such BIFs, there is a problem even without guard->body bindings.<br>
<br><div class="gmail_quote"><br></div></div></div></div></div></div></blockquote></div>[snip]<br></div>