[erlang-questions] List to proplist?
Richard O'Keefe
ok@REDACTED
Tue Nov 11 00:56:01 CET 2008
On 8 Nov 2008, at 5:20 am, David Mercer wrote:
> On Monday, October 20, 2008, Richard O'Keefe wrote
>
>> A version of unfold that I prefer is
>>
>> unfold(State, Splitter) ->
>> unfold(State, Splitter, []).
>>
>> unfold(State, Splitter, Acc) ->
>> case Splitter(State)
>> of [] -> lists:reverse(Acc)
>> ; [Item|State1] -> unfold(State1, Splitter, [Item|Acc])
>> end.
>
> Why is a cons cell, [Item|State1], preferred over a tuple, {Item,
> State1}?
Because it *MEANS* a cons.
The algorithm uses [] to say "this State represents []"
and [Item|State1] to say "this State represents [Item|Rest]".
And yes, there is also a performance consideration that
I wasn't blind to, but would not have allowed to override
the mnemonic advantage had it gone the other way.
More information about the erlang-questions
mailing list