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 Per Bothner 20 Nov 2001 19:32 UTC

Jussi Piitulainen wrote:

>(define arr1 (share-array arr (shape 0 3) (lambda (j) (- 2 j))))
>
>Then I get essentially the same array as vec. Its implementation might
>be more expensive, though, while vec remains oblivious to all that is
>going on.
>
The result arr1 should *not* point to arr, but should just re-use the same
data vector vec.  In this case share-array may do a little more work,
 but the
result should *not* be any more expensive to use - in fact it should be
exactly the same, using the same data-vector.  The implementation can also
optionally share shapes and transformation maps.  However, (eq? arr arr1)
must be #f.

If you create a chain of shared arrays, one from the previous,
they all point back to the original vector, and all the intermediaries
can be
garbage collected if not otherwise referenced.  This is essential.

    --Per Bothner