On Mon, 4 Nov 2019 23:59:01 +0000, you wrote:

>Am I understanding you right, that you are suggesting that it become 
>impossible to declare lower and upper bounds for everything, including ranges, 
>domains, and arrays? 100% against this, couldn't disagree more if so. I'll 
>hold off on attacking a strawman until I know if that man made of straw is a 
>decoy or the real thing.

I'm saying the language should be consistent, and regardless of
whether the choice is 0-based or 1-based it should be applied to
everything possible.

Specifically thinking of this quote from the original email:

"  As a specific example, I have no expectation that our LinearAlgebra
library would switch to using 0-based matrices if we were to make this
language change because 1-based indexing is arguably most typical and
natural for that context.
"

If you want to keep 1-based indexing for a library, then keep the
entire language as 1-based.

If you want the language to be 0-based, then change the library.

Anyone writing Chapel code shouldn't have to stop and think of context
to decide which indexing method is being used.

For example, the first C++ Linear Algebra library I looked at is
Armadillo, and on the page comparing Armadillo to Matlab(*) it shows
that Armadillo uses 0-based indexing.  This means Armadillo is
consistent with C++.

The thing to be remembered is a lot of code is written by people who
are not programmers, nevermind experienced programmers, and thus the
language should be defaulting to consistency.  The goal should be to
having the language do its best to minimize the potential for
accidental bugs, and varying the indexing between the core language
and a provided library is asking for trouble.

Now there may well be valid reasons to have features in the language
that can have a different indexing system.  But they should be as few
as necessary, and ideally they should still default to whatever the
chosen language standard is so that a programmer needs to make a
specific decision to do something different.

* - http://arma.sourceforge.net/docs.html#syntax


_______________________________________________
Chapel-users mailing list
Chapel-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to