(j3.2006) "Contiguous" doesn't quite do what I need

Aleksandar Donev donev1
Fri Mar 23 15:07:44 EDT 2007

On Friday 23 March 2007 10:57, Van Snyder wrote:

> The notation I propose is just as simple as the contiguous attribute,
> and entirely subsumes it. ?Instead of "real, contiguous :: A(:,:,:)" one
> writes "real :: A(::1,::1,::1)". ?Since the notation I propose entirely
> subsumes the contiguous attribute, adding it later will look like a
> replacement for an earlier poorly thought-through feature
While I personally support(ed) Van's proposal and think that mixed 
explicit/deferred/assumed shape DIMENSION specs are a great and powerful 
enhancement of our (20-year old) array facilities, this does not beat the 
simplicity and comfort of CONTIGUOUS. In essence, CONTIGUOUS arrays are 
"classic" arrays...they are also what other languages support and people are 
used to. Our strided arrays and passing via array descriptors take time to 
learn and have subtle performance implications.

We added CONTIGUOUS under the perception it was very easy. I think we know now 
it is isn't...I believe Van is also wrong in assuming changing DIMENSION 
specs is easy...we'll have all the complications of CONTIGUOUS but with a 
factor of 3! or so. This doesn't mean it shouldn't be done in the future, 
carefully and with lots of time.


More information about the J3 mailing list