Browse thread
How to do this properly with OCaml?
-
Thomas Fischbacher
- Christophe Dehlinger
- Berke Durak
- Michel Quercia
- Eric Cooper
-
Michael Alexander Hamburg
-
Xavier Leroy
- Berke Durak
- Michael Alexander Hamburg
- Thomas Fischbacher
- Alex Baretta
- skaller
- Thomas Fischbacher
-
Xavier Leroy
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-07-27 (15:06) |
From: | skaller <skaller@u...> |
Subject: | Re: [Caml-list] How to do this properly with OCaml? |
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 <skaller at users dot sourceforge dot net>