empty intervals Per Bothner (29 Jul 2015 16:44 UTC)
Re: empty intervals John Cowan (29 Jul 2015 17:12 UTC)
Re: empty intervals John Cowan (29 Jul 2015 17:16 UTC)
Re: empty intervals Bradley Lucier (29 Jul 2015 20:21 UTC)
Re: empty intervals Per Bothner (29 Jul 2015 20:56 UTC)
Re: empty intervals Bradley Lucier (29 Jul 2015 22:02 UTC)
Re: empty intervals Per Bothner (29 Jul 2015 23:36 UTC)
Re: empty intervals John Cowan (01 Aug 2015 03:52 UTC)
Re: empty intervals Bradley Lucier (01 Aug 2015 03:57 UTC)
Re: empty intervals Bradley Lucier (31 Jul 2015 20:49 UTC)
Re: empty intervals Per Bothner (31 Jul 2015 22:14 UTC)
Re: empty intervals John Cowan (31 Jul 2015 23:57 UTC)
Re: empty intervals John Cowan (31 Jul 2015 23:37 UTC)
Re: empty intervals Bradley Lucier (01 Aug 2015 02:00 UTC)
Re: empty intervals John Cowan (29 Jul 2015 21:11 UTC)
Re: empty intervals Bradley Lucier (29 Jul 2015 22:27 UTC)
Re: empty intervals John Cowan (01 Aug 2015 04:20 UTC)

empty intervals Per Bothner 29 Jul 2015 16:44 UTC

   "So the getter of an Array with an empty interval as a domain would be able to return
   no values at all.  So I don't understand constructions that allow Arrays with empty
   Intervals as domains to return a single value. Since I don't understand it, I don't allow it."

"Empty intervals" can refer to two different things.  Consider: (l_0,...,l_d-1) and
(u_0,...,U_d-1).  The number of elements in the array is:
    (u_0 - l_u) ... * (u_d-1 - l_d_1).  So if any u_i = l_i then the number of elements is 0.
This should be allowed.  One may view a vector as a 1-dimensional array (and in fact
Kawa does that); clearly we allow 0-length vectors.

The confusing issue of "Arrays with empty Intervals as domains to return a single value"
refers to something slightly different: when the Interval-dimension (d - or 'rank' in APL-ese)
is zero.  In that case note that the calculation of number of elements (above) returns 1 when d=0.
Supporting this case is less useful, but I think for consistent and generality we should do so.
--
	--Per Bothner
xxxxxx@bothner.com   http://per.bothner.com/