В Erlang можно создавать поля.

Использование:
record(имя присвоенной записи, {поле1, поле2, полеN})

Пример test.erl:

Код:
-module(test).
-export([main/0]).
-record(person, {id :: integer(), name :: string(), age :: integer(), gender :: string()}).

main() -> 
  Person = #person{id = 1, name = "Johny Meyer", age = 40, gender = "Male"},
  io:fwrite("~p~n", [Person#person.id]),
  io:fwrite("~p~n", [Person#person.name]),
  io:fwrite("Gender ~p~n", [Person#person.gender]).

Запуск:
1. Введём в командной строке erl.exe, и нажмём Enter.
2. Запуск программы в консоле:

Код:
1>c(test).
{ok,test}
2>test:main().
Id 1
Name "Johny Meyer"
Gender "Male"
ok