как составляется список erlang vm?
Когда я создаю список в erlang, например, в оболочке erlang:
1> [1, 2].
Насколько я понимаю, в вм этот список будет представлен как односвязный список.
Как эта структура создается средой выполнения Erlang? Например, это построено что-то вроде этого:
создать структуру в памяти для хранения списка, который завершает списоксоздайте структуру в памяти для хранения элемента '2' и ссылку на пустой список.создать структуру в памяти для хранения элемента «1» и ссылку на элемент «2».Правильно ли я считаю, что следующий код c и erlang - основная часть работы?
https://github.com/erlang/otp/blob/maint/lib/stdlib/src/lists.erlhttps://github.com/erlang/otp/blob/maint/erts/emulator/beam/erl_bif_lists.chttps://github.com/erlang/otp/blob/maint/erts/emulator/beam/erl_term.hhttps://github.com/erlang/otp/blob/maint/erts/emulator/beam/erl_term.cerl_term.h
содержит макросmake_list
но я пока не смог найти реализацию ...