# Gen\_statem receiving data

**URL:** <https://erlangforums.com/t/gen-statem-receiving-data/1830>\
**Category:** Questions / Help\
**Tags:** gen\_statem\
**Created:** [September 10, 2022, 8:05pm UTC](https://erlangforums.com/t/gen-statem-receiving-data/1830 "2022-09-10T20:05:17Z")\
**Posts on this page:** 3\
**Page:** 3

<div class="post-metadata">

**Author:** ![raimo](https://erlangforums.com/user_avatar/erlangforums.com/raimo/32/867_2.png) [@raimo](https://erlangforums.com/u/raimo)\
**Post date:** [September 13, 2022, 11:21am UTC](https://erlangforums.com/t/gen-statem-receiving-data/1830/41 "2022-09-13T11:21:30Z")

</div>

“reply” in Erlang (not Elixir) is a list of 5 characters and syntactical sugar for [$r, $e, $p, $l, $y] . Each list element is a cons cell with a character in the head and the tail pointing to the next cons cell. A character is the Unicode code point value for the character. A cons cell is 2 machine words. Thus “reply” needs 10 words of storage.

An atom needs the string value, 5 bytes, and some overhead in the global atom table, and then one word whereever it is refered to.

---

<div class="post-metadata">

**Author:** ![Abdelghani](https://erlangforums.com/letter_avatar_proxy/v4/letter/a/49beb7/32.png) [@Abdelghani](https://erlangforums.com/u/Abdelghani)\
**Post date:** [September 13, 2022, 2:17pm UTC](https://erlangforums.com/t/gen-statem-receiving-data/1830/42 "2022-09-13T14:17:12Z")

</div>

@raimo Thank you for the explanation, that’s so helpful

---

<div class="post-metadata">

**Author:** ![Abdelghani](https://erlangforums.com/letter_avatar_proxy/v4/letter/a/49beb7/32.png) [@Abdelghani](https://erlangforums.com/u/Abdelghani)\
**Post date:** [September 13, 2022, 5:27pm UTC](https://erlangforums.com/t/gen-statem-receiving-data/1830/43 "2022-09-13T17:27:01Z")

</div>

That made flashbacks for me to the `linked list` in Turbo Pascal, it’s the same mechanism

[Previous page](https://erlangforums.com/t/gen-statem-receiving-data/1830.md?page=2)
