string から term を生成する方法

文字列から Erlang Term を作る方法がわからなかったのでメモ。

かなりマニアックですが ... 。もっと簡単な方法があったら教えてください。

> {ok,Tokens,_} = erl_scan:string("[{foo,bar},x,3].").
{ok,[{'[',1},
    {'{',1},
    {atom,1,foo},
    {',',1},
    {atom,1,bar},
    {'}',1},
    {',',1},
    {atom,1,x},
    {',',1},
    {integer,1,3},
    {']',1},
    {dot,1}],
   1}
> {ok,Term} = erl_parse:parse_term(Tokens).
{ok,[{foo,bar},x,3]}