Gautier wrote: > Marco: > > > Pretty much yes. But because the size of "matrix" is fixed, and not > > dynamical, it is too limited IMHO. > > No no... size of "matrix" is NOT fixed; only subtypes of it or objects of this > type are - that's the whole difference :-) ! If you want resizable things, it > is also doable in Ada. E.g. > > type matrix( max_m,max_n: positive ) is record > a: array( 1..max_m, 1..max_n ) of my_float; > m: positive:= max_m; > n: positive:= max_n; > end record; The dimensionality of matrix is, however, fixed. I'm not certain that this matters, since I usually know the dimensions of the type before I start, but perhaps that is because I've always worked with languages that specify things that way. OTOH, what operations could one define without knowing the dimensionality ahead of time? Well, there's projection, magnitude, scalar addition, scalar subtraction, application (apply this operation to every element of the matrix), application2 (apply every element of this matrix to this thing), store, recall ... -- (c) Charles Hixson -- Addition of advertisements or hyperlinks to products specifically prohibited