Re: empty intervals Per Bothner 31 Jul 2015 22:14 UTC

On 07/31/2015 01:49 PM, Bradley Lucier wrote:
> I've just looked a bit at these APL-type languages.  In Nial, for
> example, everything is an array.  It seems that they consider numbers,
> strings, etc., to be zero-dimensional arrays, with the convention that a
> zero-dimensional array is a scalar.
> I don't think we need that convention here, scheme has perfectly good
> non-array objects.

It can be an optional extension.  Just promises are optionally convertible
to scalars, so could zero-dimension arrays.

In any case to clarify, of the two issues:

(1) This case
(= (interval-lower-bound I i) (interval-upper-bound I i))
This needs to be allowed, no ifs or buts, and the specification
needs to say so.

(2) This case:
(= (interval-dimension I) 0)
I don't feel as strongly about, though it would be allowed in any
implementation I control. I think there is no good reason to not
allow it, and good reasons (consistency, generality) to allow it.
However, SRFI-122 can leave it unspecified, if you prefer.
	--Per Bothner