2012-07-20: Downgraded findlib version requirement to support the Debian
2012-07-15: New major release version 4.0.0:
* Upgraded to OCaml 4.00
* Switched to Oasis for packaging
* Switched to OCamlBuild for the build process
* Rewrote README in Markdown
* Added stricter compilation flags
2009-06-01: Robustified implementation to avoid internal use of Obg.magic.
2008-09-16: Changed strategy API to greatly improve performance of
2008-05-09: Added unsafe_expose_array to parameterized resizable arrays.
2006-11-22: Updated OCamlMakefile.
2005-12-26: Fixed a build problem.
2005-10-24: Added sof_list.
2004-04-11: Removed use of unsafe external function that depends on
2004-01-28: Renamed external function for compatibility with most recent
2003-04-09: Updated OCamlMakefile.
Fixed an installation problem.
2003-01-07: Updated OCamlMakefile to make use of "findlib".
2002-09-23: Fixed a bug in "remove_n" (arguments not fully checked).
Slightly improved efficiency.
2002-09-11: Updated OCamlMakefile and license.
Documented all modules for ocamldoc.
Changed module Res for better accessibility.
Made resizable weak arrays conform to module Weak again.
2002-05-04: Revised the whole installation procedure. See INSTALL for
2002-04-30: Updated OCamlMakefile: it does not ask for confirmation
during installation anymore!
2001-06-30: Removed "Printexc.catch" from stupid_ga-example: is going
to be deprecated in upcoming OCaml-release.
2001-06-24: Added special module for resizable integer arrays (again),
because it is faster on many operations.
2001-01-30: Made Makefile more general (allows simpler addition of
2001-01-26: Made use of the new OCaml-keyword "include" for module
inclusion. This makes the file "lib/res.ml" significantly
shorter. This change requires an OCaml-version higher
2001-01-24: Updated OCamlMakefile
2000-06-24: Updated OCamlMakefile
2000-06-13: Updated OCamlMakefile
2000-06-11: Updated OCamlMakefile
2000-06-08: Added installation routine + updated OCamlMakefile again:
This upgrade makes installation much easier! Read the
2000-06-07: Upgraded to new OCamlMakefile.
2000-04-28: Fixed *critical* bug:
Filling and blitting accidently truncated the array if the last
index of the operation was smaller than the one of the target
Resizable bit-vectors should be *much* more efficient now
(blitting, resizing, etc. about 30 (60) times faster, depending on
I took the new implementation of Jean-Christophe Filliatre's
bitv-library, which uses some very clever algorithms for efficient
blitting. In the near (?) future I'll also add his functions for
common logical, efficient operations on bit-strings (unless
somebody wants to volunteer... ;-)
2000-03-23: Removed special module for resizable integer arrays:
Integer arrays are not unboxed and won't be in the (near?)
future: this would cause generic polymorphic functions such as
equality, hashing and output_value to produce wrong results.
Therefore, use the parameterized version instead. It is
2000-03-08: New function (in all implementations):
find_index - takes a predicate, a resizable array and a
start index and returns the index of the
first element that satisfies the predicate -
see interface documentation for details.
Fixed documentation of interfaces: in some cases the wrong
name for possibly raised exceptions was provided.
2000-01-10: Added functions for converting standard arrays to resizable
ones and strings to buffers.
Added "create" and "screate" to the interface of parameterized
arrays. This makes it easier to use it in place of the
Removed "make" and "smake" from resizable weak arrays -
not useful there.
Updated documentation on how to use the index operators with
the resizable datastructures and how to easily replace the
standard arrays/strings with the resizable ones in large
1999-12-25: Added support for weak arrays + small example
1999-11-04: Added support for bit-vectors
(peeked at Jean-Christophe Filliatre's bitv-library for this).
Added new example:
stupid_ga.ml (a brain-dead genetic algorithm using bit-vectors)
We now have a TODO-list ;-)
1999-10-23: Added three new functions:
remove_range - removes a range of elements within a resizable
pos - returns the index of the first logically equal element
posq - returns the index of the first physically equal element
1999-10-13: First release.