[Nickle] Nickle bug/misfeature: storage for growable arrays of
growable arrays
nickle at po8.org
nickle at po8.org
Sat Jan 15 20:42:43 PST 2005
In message <E1CpxUI-0007d0-CR at evo.keithp.com> you wrote:
> Around 13 o'clock on Jan 15, "Bart Massey" wrote:
>
> > If you want things to be like C, you can just make
> > struct s;
> > mean
> > struct s = {};
> > and similarly for arrays.
>
> Right, that's what we have today.
It didn't sound like it for your earlier description. It
sounded like you had some lazy initialization thing going
on. Did I misunderstand?
> > Shy of growable array initializers via continuations :-), I
> > would just like initializer expressions to work like they do
> > for hashes. This would at least take care of the nested
> > growable array case, which is the thing I normally care
> > about anyhow. And after all, we don't have hash
> > comprehensions.
>
> Hashes have a 'default value' which is used to initialize any
> uninitialized element when referenced. We could do the same for growable
> arrays if that would be sufficient, and I can compute that when the array
> is computed.
That's what I was hoping for.
> The trouble I'm having now is how to compute a nested array
> value when the array is used in some completely different context. I
> don't, in general, have a pointer back to the frame holding the dimension
> information for the nested array.
Just do the same thing with arrays you do with structs: let
int[...][...] a;
be shorthand for
int[...][...] a = {{} ...};
and the default value should take care of it, I think?
bart
More information about the Nickle
mailing list