[Rd] How deep can/should lists be nested?
Duncan Murdoch
murdoch.duncan at gmail.com
Sun Oct 14 13:53:09 CEST 2012
On 12-10-14 7:06 AM, Richard Cotton wrote:
> I started idly wondering how deeply lists could be nested, and
> couldn't find an explicit limit in the documentation. With this
> simple test
>
> a_list <- list()
> count <- 0
> repeat
> {
> a_list[[1]] <- a_list
> count <- count + 1
> }
>
> my (Win7, R-2.16.0 devel) machine threw an error when count got close to 25000.
>
> The error that stopped it was
>
> Error: protect(): protection stack overflow
>
> I don't know how easy it would be to stop such an error occuring, and
> it probably isn't that useful to be able to nest lists any further. I
> do think it might be useful for users to be able to know how deeply
> they can nest lists though.
>
> Perhaps it would be better to limit nesting to the value of
> getOption("expressions"). Does anyone have any strong feelings on
> what the correct behaviour should be?
There should be no limit other than memory. That overflow you saw is a
bug. Not sure it's worth fixing, since 25000 is far beyond any sensible
nesting level, but I'll take a look.
Duncan Murdoch
More information about the R-devel
mailing list