<div dir="ltr"><div>Hi Viktor,<br><br></div>I've recently wondered exactly the same. It would be very helpful in doing away with boilerplate helpers for converting single bits into booleans and vice-versa.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 20 January 2018 at 13:32, Viktor Söderqvist <span dir="ltr"><<a href="mailto:viktor@zuiderkwast.se" target="_blank">viktor@zuiderkwast.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Adding a boolean type specifier in the bit syntax would be useful, I<br>
think. Then you could write<br>
<br>
    decode_stuff(<<Flag1/boolean, Flag2/boolean, 0:6, Rest/binary>>) -><br>
        {Flag1, Flag2, Rest}.<br>
<br>
instead of<br>
<br>
    decode_stuff(<<F1:1, F2:1, 0:6, Rest/binary>>) -><br>
        Flag1 = case F1 of 1 -> true;<br>
                           0 -> false<br>
                end,<br>
        Flag2 = case F2 of 1 -> true;<br>
                           0 -> false;<br>
                end,<br>
        {Flag1, Flag2, Rest}.<br>
<br>
Many binary protocols contain flags and indicators, typically used as<br>
booleans in application logic with 1 for true, 0 for false.<br>
<br>
The default size would be 1 bit, i.e. Size = 1 and Unit = 1. It would be<br>
for constructing binaries as well. It is intuitive and it would be<br>
backward compatible.<br>
<br>
What do you think? Any reason for not adding it?<br>
<br>
Viktor<br>
______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Guilherme<br></div></div></div></div></div></div>
</div>