[M3devel] range analysis?

Hendrik Boom hendrik at topoi.pooq.com
Tue May 24 00:55:08 CEST 2011


On Mon, May 23, 2011 at 02:45:37PM -0400, Tony Hosking wrote:
> 
> On May 23, 2011, at 2:26 PM, Rodney M. Bates wrote:
> 
> > This needs more thought.  On the one hand, 2.2.3 on array types allows
> > the explicit element type in either kind of array type definition to
> > be empty, unlike the way 2.2.4 on record types requires a field type
> > to be nonempty.
> 
> I note that an array type of empty elements is itself empty and cannot be instantiated.
> 
> > On the other hand, 2.2 has a general prohibition against declaring a
> > variable of empty type, and it is all over the language spec that the
> > elements of arrays are "variables".  The general definition of variable
> > in 2.1 would apply to array elements.  Thre are numerous places that
> > describe things that can be done with a variable that we all informally
> > know can be done to an element, as it should be and we all have done
> > many times.  Moreover, 2.2.3 says in the first paragraph that the
> > elements are variables.
> 
> So, it seems to me that we could simply disallow empty array elements and be within spec.

You mean the array elements are empty?  or that the element type is 
empty?  These are very different concepts.




More information about the M3devel mailing list