<div dir="ltr">If you want to think in terms of constructors, where you first get an initial value and then "populate" it, then the constructor for lists is written [] (the empty list), and for a tuple you can call erlang:make_tuple(Arity, InitialValue) or use erlang:list_to_tuple(Elements). The function maps:new() simply returns #{}, so why it exists at all is a bit of a mystery. Maybe there were plans to add a maps:new(Options) which could allow you to set special flags, like in array:new(Options).<div class="gmail_extra"><div><div class="gmail_signature" data-smartmail="gmail_signature"><br>        /Richard</div></div>
<br><div class="gmail_quote">2017-11-16 3:19 GMT+01:00 Zhongzheng Liu <span dir="ltr"><<a href="mailto:liuzhongzheng2012@gmail.com" target="_blank">liuzhongzheng2012@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As far as I know, there is no constructor function for list or tuple.<br>
<br>
We have maps:new(), why not lists:new() or tuple:new() ?<br>
<span class="HOEnZb"><font color="#888888"><br>
                             Liu Zhongzheng<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
2017-11-14 18:15 GMT+08:00 Cons T Åhs <<a href="mailto:cons@tail-f.com">cons@tail-f.com</a>>:<br>
><br>
> On 14 Nov 2017, at 09:50, Richard Carlsson <<a href="mailto:carlsson.richard@gmail.com">carlsson.richard@gmail.com</a>><br>
> wrote:<br>
><br>
> Most operators have a corresponding function in the 'erlang' module. For<br>
> example, A + B can be written erlang:'+'(A,B). However, the cons operator<br>
> [|] does not, as far as I know.<br>
><br>
><br>
> I’ve always considered this a gross oversight for several reasons.  One is<br>
> that you have to write your own local fun when you want to pass it as higher<br>
> order functional argument, another is that should one generate Erlang code<br>
> directly one has to take care of this and generate special syntax.  Then<br>
> there is the personal obvious reason :-)<br>
><br>
> Cons<br>
><br>
><br>
><br>
><br>
><br>
>         /Richard<br>
><br>
> 2017-11-14 8:56 GMT+01:00 Zhongzheng Liu <<a href="mailto:liuzhongzheng2012@gmail.com">liuzhongzheng2012@gmail.com</a>>:<br>
>><br>
>> Hi mail-list:<br>
>><br>
>> Which built-in function work as   fun(H, T) -> [H|T] end ?<br>
>><br>
>> i.e how to fill the following expression without user defined function ?<br>
>><br>
>> [H|T] = erlang:apply(???, ???, [H, T]).<br>
>><br>
>><br>
>> Thanks<br>
>><br>
>>                            Liu zhongzheng<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>
><br>
><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>
><br>
><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>
</div></div></blockquote></div><br></div></div>