Currently, all logs are stored together. That's completely fine, but it becomes problematic when using multiple different repls - erl, iex and lfe since all history is stored together. So now I can "scroll up" elixir commands in lfe or erlang - this is not desirable.
Both lfe and iex achieve the custom repl by passing the -user argument to erl executable. This argument can be obtained using init:get_argument(user) - I'm not sure if there exists a more internal API exposing an already parsed value.
I propose to store logs in ~/.erlang-hostory/<user>/ directory, where <user> is the value of the init argument. As far as I understand the code, this will allow separating the Erlang, Elixir and LFE shell history rather easily.