Walter Bright, el 9 de agosto a las 13:29 me escribiste: > D has a number of subtle problems (performance and semantic) that arise > when arrays are resized. The solution is to separate resizeable array > types from slices. Slices will retain the old: > > T[] slice; > > syntax. Resizeable arrays will be declared as: > > T[new] array; > > The new expression: > > new T[10] > > will return a T[new]. > > T[new] will implicitly convert to T[], but not the other way. > > slice.length will become read-only. > > Under the hood, a T[new] will be a single pointer to a library defined > type. This library defined type will likely contain three properties: > > size_t length; > T* ptr; > size_t capacity; > > The usual array operations will work on T[new] as well as T[]. > > Doing this change will: > > 1. fix many nasties at the edges of array semantics > > 2. make arrays implementable on .net > > 3. make clear in function signatures if the function can resize the > array or not
What about writing a DIP? ;) -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- VECINOS RESCATARON A CABALLITO ATROPELLADO -- Crónica TV
