Re: various comments Jussi Piitulainen (17 Nov 2001 14:03 UTC)
Re: various comments Radey Shouman (17 Nov 2001 18:27 UTC)
Re: various comments Jussi Piitulainen (18 Nov 2001 14:50 UTC)
Re: various comments Per Bothner (19 Nov 2001 19:52 UTC)
Re: various comments Jussi Piitulainen (20 Nov 2001 08:14 UTC)
Re: various comments Per Bothner (20 Nov 2001 18:35 UTC)
Re: various comments Jussi Piitulainen (20 Nov 2001 19:20 UTC)
Re: various comments Per Bothner (20 Nov 2001 19:33 UTC)
Re: various comments Jussi Piitulainen (20 Nov 2001 20:14 UTC)
Re: various comments Radey Shouman (21 Nov 2001 03:31 UTC)
Re: various comments Radey Shouman (19 Nov 2001 23:26 UTC)
Re: various comments Jussi Piitulainen (20 Nov 2001 08:43 UTC)
Re: various comments Per Bothner (20 Nov 2001 19:20 UTC)
Re: various comments Jussi Piitulainen (20 Nov 2001 20:02 UTC)
Re: various comments Per Bothner (20 Nov 2001 21:08 UTC)
Re: various comments Radey Shouman (21 Nov 2001 03:58 UTC)
Re: various comments Jussi Piitulainen (21 Nov 2001 16:52 UTC)
Re: various comments Radey Shouman (21 Nov 2001 03:47 UTC)
Vectors as arrays Re: various comments Jussi Piitulainen (20 Nov 2001 18:03 UTC)
Re: Vectors as arrays Re: various comments Radey Shouman (21 Nov 2001 04:09 UTC)

Re: various comments Jussi Piitulainen 21 Nov 2001 16:52 UTC

Radey Shouman writes:
> Per Bothner writes:
[...]
>> simple Java primitive int array.) Of course an implementation does
>> have the option of using a simple array interally for a shape, and
>> having array-shape wrap it in a general array, but that means that
>> array-shape would have to do object allocation.

It could keep one shape representation for external access and another
version for internal purposes. Or one might be able to arrange things
so that the efficient version is the backing vector for the externally
accessible shape array.

> I would like to strongly second the suggestion to make the array
> shape an unspecified opaque type. A two-dimensional array may well
> be optimal in the reference implementation, but it will likely be a
> burden for more primitively implemented arrays.

I'll think of it. But aren't arrays opaque in the relevant sense? The
current design was influenced more by the internal consistency of the
package, and the expressiveness of it - all the tools that we have not
yet even thought about would be available for shape manipulation -
than efficiency.

>                                                 Also, I find the
> idea that an array shape object should become immutable only after
> passing it to one of the array functions as a shape to be a little
> bit weird.

Ocuh. That's not the idea. In the current implementation, (shape 0 3)
is already immutable, and if (array (shape 0 1 0 2) 0 3) is used as a
shape, it is just a bad thing to mutate that array. I was thinking of
making a copy of it if it isn't flagged as shape already.
--
Jussi