Description

* it's not DRY (need to explicitly write 3 as the length and specify the type int)
* there's no easy way to pass a static array literal to a function accepting a static array; for example it requires:

int[3]x=[1,2,3];fun(x);

Instead we propose the syntax:

autox=[1,2,3]S;

where S stands for static. More generally the compiler should translate

[x1,...,xn]Sto:typeof(x1)[n]

Advantages:

* static array literals becomes as convenient as dynamic ones
* no confusion possible for the compiler; I believe this syntax doesn't clash with existing syntax.
* In our previous example, no need to write an intermediate x: we can just write