On Mon, 2005-07-25 at 19:47 -0500, Brian Hurt wrote: > > On Mon, 25 Jul 2005, skaller wrote: > > On Sun, 2005-07-24 at 23:45 -0700, Stephane Glondu wrote: > > > > Well, basically the real topic is how to implement variable > > length arrays. This is easy enough in C and C++: why should > > it be very hard or even impossible in Ocaml? > > It is, in fact, neither- *IF* you don't mind a little bit of inefficiency. But I do. There is already an indirection due to boxing, however that cost isn't always paid (for example reversing the elements of an array doesn't require examining them) and it is a fundamental property of Ocaml: nevertheless even this inefficiency cannot be tolerated in numerical programs, and there are officially supported special optimisations and array types to solve that problem. > It's insisting that it be done without options that's tricky. It isn't tricky, it just requires use of Obj.magic. Given that there is a simple requirement for a simple efficient data structure (analogous to C++ STL Vector) but it needs magic to do properly, the varray is best supplied by INRIA magicians. -- John Skaller