On 20050507T212832+0200, Marcin 'Qrczak' Kowalczyk wrote: > > ISO 9899:1999 (C99) section 6.7.5.2:3 says that its type is "array of > > int", not "array of 50 ints": > > Ok, so in C terminology "type" is different from most statically typed > languages in this respect. The dimension is used together with the > type to determine static properties, and 6.7.5.2:4 says: > > [#4] For two array types to be compatible, both shall have
Actually, that's 6.7.5.2:6. It is the only place where array size is truly used as part of the type. In all other contexts, it is easily interpretable as a property of the variable, and since the size of the array is not otherwise used as a type attribute, it is fair to say that it is not really a type attribute. (Not in the Pascal sense, in any case.) > In both languages lvalueness is also not considered a part of the type > but an alternative language presentation could use a wording where it is. There are always alternative ways to present a language. -- Antti-Juhani Kaijanaho http://antti-juhani.kaijanaho.info/ Blogi - http://kaijanaho.info/antti-juhani/blog/ Toys - http://www.cc.jyu.fi/yhd/toys/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe