Suggestion: New table iterators

Robert Virding <>
Thu Oct 19 11:36:48 CEST 2000


Jakob Cederlund =?iso-8859-1?Q?på?= UAB <> writes:
>At 10:39 2000-10-19 +0200, Bjorn Gustavsson wrote:
>>I suggest that we add
>>
>>         ets:foldl(Fun, Acc, Table)
>>         ets:foldr(Fun, Acc, Table)
>...
>
>Hmm... it's easily done, but is it the right way?
>
>...
>And it doesn't solve the initial problem, that there is no easy way for 
>isolating the algorithms on containers from the implementation of the 
>container. (Call it OOP or generic programming or whatever.)

That, fortunately or unfortunately, is the way it is with Erlang as it 
stands today.  Seeing there is no static typing there is no way for a 
compiler to work out which function it should call, you have to tell 
the system that.  Anyway, you usually know what it is.  I don't think 
the generics are that useful, but give me an example if I am wrong.

What you have abstracted out IS the basic algorithm on the containers, 
map/fold/filter whatever, and hidden the underlying implementation.  
you can fold over a list/set/ets table/mnesia table without knowing the 
low-level details of how to do it.  But you still have to know WHAT it 
is.

	Robert

-- 
Robert Virding                          Tel: +46 (0)8 545 55 017
Alteon Web Systems                      Email: 
S:t Eriksgatan 44                       WWW: http://www.bluetail.com/~rv
SE-112 34 Stockholm, SWEDEN
"Folk säger att jag inte bryr mig om någonting, men det skiter jag i".





More information about the erlang-questions mailing list