¿Cómo es una lista construida por el vm erlang?

Cuando creo una lista en erlang, como en el shell erlang:

1> [1, 2].

Por lo que entiendo, en la vm esta lista se representará como una lista vinculada individualmente.

¿Cómo es esta estructura creada por el tiempo de ejecución erlang? Por ejemplo, ¿se construye algo como esto:

crear una estructura en la memoria para contener una lista que termina la listacree una estructura en la memoria para contener el elemento '2' y una referencia a la lista vacía.cree una estructura en la memoria para contener el elemento '1' y una referencia al elemento '2'.

¿Estoy en lo cierto al pensar que el siguiente código c y erlang es donde se realiza la mayor parte del trabajo?

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.c

erl_term.h contiene una macromake_list pero aún no he podido encontrar la implementación ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta