[erlang-questions] Store maps in ets/dets?

Jesper Louis Andersen <>
Thu Apr 10 18:36:17 CEST 2014

On Thu, Apr 10, 2014 at 6:14 PM, Michael Loftis <> wrote:

> I think you might mean the opposite here....that maps is ephemeral and
> ETS is persistent (or can be persistent using DETS anyway)

Actually not. Two things to address though:

Max might have asked if you can store maps in ets:

5> ets:new(foo, [named_table]).
6> ets:insert(foo, {#{a => 3, b => 4}}).
7> ets:match_object(foo, '_').
[{#{a => 3,b => 4}}]
8> ets:insert(foo, #{'not' => possible}).
** exception error: bad argument
     in function  ets:insert/2
        called as ets:insert(foo,#{'not' => possible})

and the answer is that you can, but the topmost entry must be a tuple as
the example shows.

The other thing is about persistent vs ephemeral data structures.


Maps are persistent, but ETS in general is not. It is ephemeral according
to the wikipedia definition.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140410/e2b2c40d/attachment.html>

More information about the erlang-questions mailing list