> On 4 Jul 2017, at 16:19, Elizabeth Mattijsen <l...@dijkmat.nl> wrote: > That said, a List may not always be completely reified already. So > logically, a List may have 100 elements, it could well be that only 42 of > these elements exist already. Which means that the underlying NQP array, > which *is* mutable, only has 42 elements. But it cannot know offhand whether > those are all possible elements, as that depends on the iterator that is > being used to fill the NQP array. > > A complicating factor is that this is a very hot code path, so any changes > there could affect general performance significantly. My initial tests to > generate a Failure on out of bounds value immediately results in 2 internal > errors trying to generate backtrace :-( > > Anyways, I agree with brian’s feelings on this. The challenge is now to make > it so without making everything significantly slower. > > FWIW, the code in question lives around line 480 in List.pm.
An example of a List that will never be fully reified: $ 6 'my $l = ^Inf .list; dd $l.^name; dd $l[10]' "List" 10 Liz