Date: Thu, 8 Feb 2001 14:31:05 -0600 (CST)
From: Chris Lattner <sabre@nondot.org>
To: Vikram S. Adve <vadve@cs.uiuc.edu>
Subject: RE: Type notation debate...

> Arrays (without and with size):
> type ::= '[' type ']' | '[' INT ',' type ']'.
> 
> The arrays with size lists the dimensions and the type in a single list.
> That is just too confusing:

>       [10, 40, int]
> This seems to be a 3-D array where the third dimension is something strange.
> It is too confusing to have a list of 3 things, some of which are dimensions
> and one is a type. 

The above grammar indicates that there is only one integer parameter, ie
the upper bound.  The lower bound is always implied to be zero, for
several reasons:

* As a low level VM, we want to expose addressing computations
  explicitly.  Since the lower bound must always be known in a high level
  language statically, the language front end can do the translation
  automatically.
* This fits more closely with what Java needs, ie what we need in the
  short term.  Java arrays are always zero based.

If a two element list is too confusing, I would recommend an alternate
syntax of:

type ::= '[' type ']' | '[' INT 'x' type ']'.

For example:
  [12 x int]
  [12x int]
  [ 12 x [ 4x int ]]

Which is syntactically nicer, and more explicit.

> Either of the following would be better:
>       array [10, 40] of int

I considered this approach for arrays in general (ie array of int/ array
of 12 int), but found that it made declarations WAY too long.  Remember
that because of the nature of llvm, you get a lot of types strewn all over
the program, and using the 'typedef' like facility is not a wonderful
option, because then types aren't explicit anymore.

I find this email interesting, because you contradict the previous email
you sent, where you recommend that we stick to C syntax....

-Chris

