<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">lists:member(X, [X1,X2,X3,X4]) answers true or false.</div><div class="gmail_default" style="font-family:monospace,monospace">There is no fundamental reason that the compiler could not</div><div class="gmail_default" style="font-family:monospace,monospace">expand that in-line to (X =:= X1 orselse ... orelse X =:= X4)</div><div class="gmail_default" style="font-family:monospace,monospace">when the shape of the list is known.  So we *definitely* need</div><div class="gmail_default" style="font-family:monospace,monospace">no new syntax.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">However, I must repeat that if this happens often enough in your code</div><div class="gmail_default" style="font-family:monospace,monospace">to be "boring" you need to give serious thought to changing your data</div><div class="gmail_default" style="font-family:monospace,monospace">structure.  Things that share a processing path should be given a</div><div class="gmail_default" style="font-family:monospace,monospace">common structure.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">We really need an actual concrete example of real code to discuss.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 25 Mar 2019 at 18:12, Florent Gallaire <<a href="mailto:fgallaire@gmail.com">fgallaire@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Frank thanks for your answer.<br>
<br>
> You’re probably new to Erlang.<br>
<br>
Yes, but...<br>
<br>
> You can achieve the same with parse_transform:<br>
> <a href="https://github.com/mad-cocktail/gin/blob/master/README.rst" rel="noreferrer" target="_blank">https://github.com/mad-cocktail/gin/blob/master/README.rst</a><br>
<br>
...I can say parse_transform is not the solution Erlang needs.<br>
<br>
> There’s no point to add new syntax to the language.<br>
<br>
Yes we need it, an easy to use built-in "in (tuple or list I'm not<br>
sure of the right semantic)" syntactic sugar for guards.<br>
<br>
Hope some other advices.<br>
<br>
Florent<br>
<br>
> /Frank<br>
><br>
>> Hello everybody,<br>
>><br>
>> I'm not very experimented in Erlang but I read carefully books and<br>
>> official documention.<br>
>><br>
>> It seems to me that the guards syntax is not as good as it should be,<br>
>> i.e. too much verbose for multiple values.<br>
>><br>
>> do(val1) -> val1;<br>
>> do(val2) -> val2;<br>
>> do(val3) -> val3;<br>
>> do(val4) -> val4;<br>
>> do(val5) -> val5.<br>
>><br>
>> do(Val) when Val =:= val1; Val =:= val2; Val =:= val3; Val =:= val4;<br>
>> Val =:= val5 -> Val.<br>
>><br>
>> It's boring and error prone to write.<br>
>><br>
>> Has a "in tuple" syntax already be considered ? Something like :<br>
>><br>
>> do(Val) when Val in {val1, val2, val3, val4, val5} -> Val.<br>
>><br>
>> Cheers<br>
>><br>
>> Florent<br>
>><br>
>> --<br>
>> FLOSS Engineer & Lawyer<br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
<br>
<br>
-- <br>
FLOSS Engineer & Lawyer<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>