Lazy lists - an implementation.

Sean Hinde <>
Wed Oct 18 13:09:07 CEST 2000

> Unfortunately it would not directly help Ulf Wiger either as the large
> lists are generated by calls which generate "proper" lists. To use it
> you would have to write new interface functions to generate the lazy 
> lists and force people to use the lazy libraries.  This would still 
> mean you would have to go through code and modify it, as you would 
> using th existing "lazy" interface to ETS tables.

mnesia transactions seem to use pretty much this procedure (generate list,
convert to ets table, traverse ets table to generate new list - or something
similar). Obviously the author had some reason to choose this solution.
Maybe there's a better one which doesn't involve all that copying but also
doesn't have the downside which Ulf and the mnesia author are trying to
avoid (different memory allocation? different GC? different handling of fast
growing heaps? other?)


This email (including attachments) is confidential.  If you have received
this email in error please notify the sender immediately and delete this
email from your system without copying or disseminating it or placing any
reliance upon its contents.  We cannot accept liability for any breaches of
confidence arising through use of email.  Any opinions expressed in this
email (including attachments) are those of the author and do not necessarily
reflect our opinions.  We will not accept responsibility for any commitments
made by our employees outside the scope of our business.  We do not warrant
the accuracy or completeness of such information.

More information about the erlang-questions mailing list