OCaml Forge

File Release Notes and Changelog

Release Name: Batteries Included beta 1

Release Notes

This is the first beta release of Batteries Included.

= Changes since alpha 3
== General
* New drop-in replacement for ocamlbuild.
* New drop-in replacement for ocamldep.
* New drop-in replacement for ocaml, both as toplevel and as interpreter

== Toplevel
* New directive "#browse".
* Toplevel now supports .ocamlinit .

== Language
* The syntax of [open ... include] has been changed into [open ... with]
* A new construction [p"foo"] allows new-style extensible printf formats.
* UTF-8 strings are now validated at compile-time.
* Conversion between literal Latin-1 and UTF8 strings now takes place at compile-time.

== Library
* New naming convention for modules.
* A new module [Print] provides a modular replacement for [Printf].
* New module [Seq] for integer segments.
* New module [Future.Logger].
* Module [Digest] now compatible with IO.
* Module [Scanf] now compatible with IO.
* Module [Format] now compatible with IO.
* Module [Lexing] now compatible with IO.
* New modules [StringSet], [RopeSet], [IStringSet], [IRopeSet], [IntSet], [StringMap], [RopeMap], [IStringMap], [IRopeMap], [IntMap].
* Files may now be opened with mmapping.
* Module [Compiler] may now be used to invoke [ocaml].
* Module [Vect] now follows order of argument conventions, is enumerable, comprehensible, etc.
* Enumerations of random values are now clonable.
* [Random] now can offer random characters.
* Bigarray can now be enumerated, mapped, iterated, etc.
* Some operators have been renamed: ( ~~ ) becomes ( --~), etc.
* More informations on the system configuration are now available through [Batteries_config].
* New experimental module [Safe_float].
* Numerous new functions on [String], [String.Cap], [Set], [PSet], [RefList], [UChar], [Pervasives] etc.
* Speed improvements in [String], [LazyList], [Rope], clients of [IO].
* [Standard.result] is now sexplib-compatible.

== Build
* Test-suite created.
* Now using optcomp.
* Now detecting default installation directory when necessary.
* Now permitting parallel build.
* Slightly faster compilation.

== Bugfixes
* Drop-in replacement for ocamlc, ocamlopt now use syntax extensions.
* Garbage-collection of open outputs now more robust.
* [Safe_int.mul] should now work on 64-bit platforms.

Change Log

2009-03-31  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* Makefile.in: [all] now depends on [install-doc] rather than [install_doc]
	
	* src/core/extlib/extPervasives.ml*: [maybe_printer]

	* src/core/extlib/option.ml*: [maybe_printer]

	* src/core/extlib/print.mli: Further savage documentation spree.

	* src/core/extlib/value_printer.mli: typo

	* build/odoc_tags.ml: [INCLUDE "doc_batteries_factored.ml"]

	* src/main/nothreads/batteries.mllib: [Lexing] removed

	* src/main/threads/batteries.mllib: [Lexing] removed

	* README: added subsections

	* src/core/extlib/print.ml*: [iprintf] added

	* src/core/extlib/print.mli: intense documentation

	* examples/tools/conv.ml: now using [Print] rather than [Printf]

	* src/core/extlib/extPrintf.mli: deprecated

2009-03-30  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extPervasives.mli: [sexp_of_result], [result_of_sexp] added

	* src/core/extlib/std.ml: [sexp_of_result], [result_of_sexp] added
	
	* src/core/extlib/std.ml: [result] now [with sexp]

2009-03-26  Jeremie Dimino <jeremie@dimino.org>

	* src/core/extlib/print.ml*: remove this annoying and useless
     	third type parameter of [Print.directive]

2009-03-25  Jeremie Dimino <jeremie@dimino.org>

	* src/core/extlib/value_printer.ml*: added

	* src/core/extlib/extPervasives.ml*: added value printers

	* src/syntax/pa_strings/pa_format.ml: handle value printers

2009-03-25  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/seq.ml*: [Failure] replaced with [Invalid_argument]

	* src/core/extlib/extInt.ml: [SafeInt.mul] rewritten without need for native integersx

2009-03-24  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extPervasives.ml: [printer_S] now uses [String.quote]

	* src/core/extlib/extPervasives.ml*: [printer_sc], [printer_Sc] added

	* src/core/extlib/extString.ml*: [String.Cap.print*], [String.Cap.quote] added

	* src/core/extlib/innerIO.ml: [read_all] now stops properly also on [Input_closed]

	* src/core/extlib/extLexing.ml: [from_channel] now raises [End_of_file]

	* src/libs/compilers/compilers.ml*: [interpreter_option] added

	* src/libs/compilers/compilers.ml*: [ocaml] added

	* src/batteries_toolchain/ocaml.in: now using "@DESTDIR@/toplevel.top"

	* src/core/baselib/batlib_Baselib_Lexing.*: removed
	
	* src/main/threads/batteries.ml: [ExtLexing.Lexing] replaces [Lexing]

	* src/main/nothreads/batteries.ml: [ExtLexing.Lexing] replaces [Lexing]

	* src/core/extlib.mlpack: [ExtLexing] added

	* src/core/extlib/extLexing.ml*: created

2009-03-24  Jeremie Dimino <jeremie@dimino.org>

	* src/batteries_toolchain/toplevel/cbtop.ml: hack to make syntax extensions to work for scripts
	
	* src/core/extlib/seq.ml*: created

	* src/core/extlib.mlpack: added [Seq]

2009-03-22  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/batteries_toolchain/toplevel/cbtop.ml: general cleanup

2009-03-19  Jeremie Dimino <jeremie@dimino.org>

	* src/core/extlib/extUChar.ml*: added [lowercase], [uppercase], [icompare], [IUChar]
	
2009-03-22  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/batteries_toolchain/toplevel/cbtop.ml: added

	* src/batteries_toolchain/ocaml.in: now using [cbtop.ml]

	* src/batteries_toolchain/toplevel.mltop: added

	* Makefile.in:[TOPLEVEL_TARGETS], [install] now make use of [toplevel.top]


2009-03-17  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/batteries_toolchain/batteries_help.ml: in #browse, now replacing all non-alphanumerical characters

	* src/core/extlib/extList.mli: [takewhile], [dropwhile] moved down

	* src/core/extlib/extList.ml*: [ExceptionLess] => [Exceptionless]

	* src/core/extlib/extList.ml: flattened, copyright updated

	* src/core/extlib/extHashtbl.ml*: [ExceptionLess] => [Exceptionless]

	* src/core/extlib/extHashtbl.ml: flattened, copyright updated

	* src/core/extlib/extMap.ml: flattened, copyright updated

	* src/core/extlib/extMap.ml*: [ExceptionLess] => [Exceptionless]
	
	* src/core/extlib/extArray.ml: flattened, copyright updated

	* src/core/extlib/extArray.ml*: [ExceptionLess] => [Exceptionless]

	* src/core/extlib/extSet.ml: flattened, copyright updated

	* src/core/extlib/extSet.ml*: [ExceptionLess] => [Exceptionless]

	* src/core/extlib/enum.ml*: [ExceptionLess] => [Exceptionless]
	
	* src/main/threads/batteries.ml: Added module aliases for compatibility with base/ext libraries.

	* src/main/nothreads/batteries.ml: Added module aliases for compatibility with base/ext libraries.

2009-03-15  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* testsuite/test_pmap.ml: [RefList] => [Ref_list]

	* testsuite/test_enum.ml: [Bigarray] => [Big_array]

	* src/main/nothreads/batteries.ml: renamed [Netchannels] => [Net_channels], [Bigarray] => [Big_array], [Dynarray] => [Dyn_array], [RefList] => [Ref_list], [LazyList] => [Lazy_list], [MultiPMap] => [Multi_pmap], [BitSet] => [Bit_set], [CharEncodings] => [Char_encodings], [OptParse] => [Opt_parse], [CharParser] => [Char_parser], [UCharParser] => [UChar_parser], [ParserCo] => [Parser_co]
	
	* src/main/threads/batteries.ml: renamed [Netchannels] => [Net_channels], [Bigarray] => [Big_array], [Dynarray] => [Dyn_array], [RefList] => [Ref_list], [LazyList] => [Lazy_list], [MultiPMap] => [Multi_pmap], [BitSet] => [Bit_set], [CharEncodings] => [Char_encodings], [OptParse] => [Opt_parse], [CharParser] => [Char_parser], [UCharParser] => [UChar_parser], [ParserCo] => [Parser_co]

2009-03-13  Jeremie Dimino <jeremie@dimino.org>

	* src/syntax/pa_strings/pa_format.ml,
	* src/core/extlib/extPervasives.ml*,
	* src/core/extlib/print.ml*: rename [pdir_X] to [printer_X]

	* src/core/extlib/print.ml*: added [rprintf] and [krprintf]

	* src/core/extlib/extPervasives.ml*:
	    - better implementation of directives
	    - [printer_{int,int32,bool,list,...}] added

	* src/core/extlib/*.ml*:
	    - [printer_t] added

	* src/syntax/pa_strings/format_*: removed
	* src/syntax/pa_strings/pa_format.ml: add support for more complex directives

2009-03-13  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/IO.mli: [inherit_in], [inherit_out] now produce [unit output]

	* src/core/extlib/innerIO.mli: [inherit_in], [inherit_out] now produce [unit output]

	* src/core/extlib/innerIO.ml: [inherit_in], [inherit_out] now don't close their parent by default

2009-03-12  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* build/preprocess_mli/generate_mli.ml: created

	* build/optcomp/optcomp.ml: [print_token] now accepts optional argument [oc]

	* build/generate_mli.ml: hijacked into only doing the sub-module extraction part

2009-03-12  Jeremie Dimino <jeremie@dimino.org>

	* build/generate_mli.ml: added
	
2009-03-12  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/pMap.ml: [enum] changed enumeration order

	* testsuite/test_pmap.ml: created

	* src/core/extlib/refList.ml*: [backwards], [of_backwards] added

2009-03-11  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/innerIO.ml*: [onclose_out] added

	* src/core/extlib/extFormat.ml: [newline_of], [spaces_of] added

	* src/core/extlib/extFormat.ml: [std_formatter], [err_formatter] now flushed at exit

	* src/core/extlib/extFormat.ml: [pp_set_formatter_output] now uses [pp_set_all_formatter_output_functions]

	* src/core/extlib_threads/IOThreads.ml: now using [RMutex] rather than [Mutex]

	* src/core/extlib_threads/extMutex.ml: [DebugMutex] created

	* build/odoc_extract_mli.ml: recreated

	* src/batteries_toolchain/batteries_help.ml: applied patch by kaustuv

	* src/core/extlib/extBigarray.ml*: applied patch by hcarty

	* src/core/extlib/extBigarray.ml*: [Genarray.iter], [Genarray.iteri], [Genarray.map], [Genarray.mapi], 

2009-03-10  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* build/odoc_tags.ml: now uses [Odoc_batteries_factored]

	* build/odoc_batteries_factored.ml: created

	* src/batteries_toolchain/batteries_help.ml: [print_module] now uses flattened name for display

	* myocamlbuild.ml: [sort_modules] now invokes [Depsort.add_node]
	
	* myocamlbuild.ml: [Depsort.add] renamed [Depsort.add_dependency]

	* src/core/extlib/extPervasives.ml: [open_in_bin], [open_in_gen], [open_out_bin], [open_out_gen] now clean-up

	* src/core/extlib/file.ml: [open_in], [open_out], [open_temporary_out] now clean up opened files when closing

	* testsuite/test_file.ml: [test_4], [test_5] added

	* testsuite/main.ml: [Test_file.test_4], [Test_file.test_5] added

2009-03-09  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/syntax/pa_batteries/pa_batteries.ml: [initialized] removed

	* src/core/extlib/extMap.ml*: Commented out [min_key], [max_key], [choose]

	* myocamlbuild.ml: [Depsort.add_node] added

	* myocamlbuild.ml: [Pack.sort] now invokes [Depsort.add_node]

	* build/distrib2source.ml: removed
	
2009-03-08  Edgar Friendly  <thelema314@gmail.com>

	* src/core/extlib/extMap.ml*: add Map.min_key, max_key, choose (flux)
	
	* src/core/extlib/innerIO.ml: Fix bug in autoclose (Paul Pelzl)

	* src/core/extlib/file.ml: [open_in] shouldn't autoclose (Paul Pelzl)

	* src/core/extlib/file.mli: [open_temporary_out] does autoclose -
	doc bug (Paul Pelzl)

	* Makefile.in: refactoring of Makefile for faster
	compilation (less ocamlbuild restarts) (Paul Pelzl)

	* Makefile.in: Allow [JOBS=n make] for parallel build (Paul Pelzl)

	* Configure.ac: remove configure hack (Paul Pelzl)

	
2009-03-08  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* myocamlbuild.ml: [Depsort] created

	* myocamlbuild.ml: [sort_tree], [sort_modules] implemented

	* build/distrib2source.ml: created


2009-03-05  Jeremie Dimino <jeremie@dimino.org>

	* src/code/extlib/rope.mli: inverse doc of [starts_with] and [ends_with]

	* src/code/extlib/rope.ml:
	    - prevent [starts_with] and [ends_with] from failing
	    - prevent [trim] from failing when all characters are whitespaces
	    - more efficient [of_ustring]
	    - add efficient iterators, implement some TODO with them
	    - bugfix: [compare] and [icompare] where wrong
	    - prevent [lchop] and [rchop] from failing

	* src/syntax/pa_strings/pa_strings.ml:
	    - compile-time validation of utf8 strings
	    - compile-time recoding latin1 -> utf8

2009-03-04  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* doc/batteries/html/toplevel.html: Documentation on #browse added.

	* src/batteries_toolchain/batteries_help.ml: New directive #browse.

	* src/core/extlib/extPervasives.mli: Excluded printf directives from documentation generation.

	* src/core/extlib/extPrint.mli: More documentation.

	* configure.ac: Now detecting default installation directory only if $prefix is NONE

	* configure.ac: Now adapting doc installation directory to $prefix.

2009-03-04  Jeremie Dimino <jeremie@dimino.org>

	* examples/snippets/test_printf.ml: change examples

	* src/core/extlib/exrPervasives.ml*: added [pdir_{f,F,obj}]

	* src/core/extlib/extPrintf.ml*: renamed [Print]

	* src/core/extlib/extPrintf2.ml*: renamed [ExtPrint]

2009-03-03  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extPrintf2.mli: Documentation.

2009-03-03  Jeremie Dimino <jeremie@dimino.org>

	* Makefile.in: target pa_strings.cmo -> pa_strings.cma

2009-03-02  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extRandom.ml*: [char], [enum_chars] added

	* src/core/extlib/extString.ml*: [quote] added

2009-02-21  Jeremie Dimino <jeremie@dimino.org>
	* src/core/extlib/extPrintf2.ml*: created

	* src/core/extlib/extPervasives.ml*: added default directives

	* src/syntax/pa_strings/pa_strings.mllib: created

	* src/syntax/pa_strings/pa_format.ml: created

	* src/syntax/pa_strings/format_ast.ml*: created

	* src/syntax/pa_strings/format_lexer.mll: created

	* src/syntax/pa_strings/_tags: tags cleanup, (with previous ones
	pa_strings.cma depended on Camlp4Top??)

	* build/META.in: {pa_estring.cmo, pa_strings.cmo} -> pa_strings.cma

	* src/main/nothreads/batteries.ml: added ExtPrintf2

	* src/main/threads/batteries.ml: added ExtPrintf2

	* src/main/core/extlib.mlpack: added ExtPrintf2
	
	* examples/snippets/test_printf.ml: created
	
	* examples/snippets/snippets.itarget: added test_printf

	* Makefile.in: add -classic-display to ocamlbuild when compiling
	under emacs
	
2009-02-24  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>
	* src/core/extlib/extSet.ml*: [StringSet], [RopeSet], [IStringSet], [IRopeSet], [IntSet] created

	* src/core/extlib/extMap.ml*: [StringMap], [RopeMap], [IStringMap], [IRopeMap], [IntMap] created

	* src/core/extlib/rope.ml*: [compare] renamed [icompare]

	* src/core/extlib/extString.ml*: [compare] renamed [icompare]

2009-02-21  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/vect.ml: [init] now should create vectors with the correct size

2009-02-20  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extPervasives.ml*: [reduce] added

	* src/core/extlib/enum.ml: [reduce] rewritten from [fold], now throws [Not_found]

	* src/core/extlib/vect.ml*: [enum], [of_enum] added

	* src/core/extlib/vect.ml*: [print] added

	* src/core/extlib/vect.ml*: [exists], [for_all], [find], [partition], [find_all] created

	* src/core/extlib/vect.ml*: [get] order of arguments changed
	

2009-02-19  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/vect.ml*: [init], [fold_left], [fold_right] created

	* src/core/extlib/vect.ml*: [set], [destructive_set] order of argument changed

	* src/libs/sexplib/_tags: *.ml now uses stand-alone optcomp

	* src/core/extlib/extBigarray.ml*: [Array{1,2,3}.unsafe_{get,set}] added

	* src/core/extlib/option.ml*: [Labels] added

	* src/core/extlib/lazyList.ml*: [Labels], [Labels.ExceptionLess] added

	* testsuite/test_file.ml: created

	* src/core/extlib/file.ml: [open_in] now supports mmap

2009-02-16  Jeremie Dimino <jeremie@dimino.org>

	* build/optcomp/optcomp.ml: better handling of errors

2009-02-16  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib.mlpack: [ExtScanf] added

	* src/main/nothreads/batteries.ml: [Scanf] replaced with [ExtScanf.Scanf]

	* src/main/threads/batteries.ml: [Scanf] replaced with [ExtScanf.Scanf]

	* src/main/nothreads/batteries.mllib: base [Scanf] removed

	* src/main/threads/batteries.mllib: base [Scanf] removed


2009-02-15  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* tests/dynlink/*: created

	* README: [make syntax] added

	* tests: renamed [testsuite]

	* Makefile.in: now using [testsuite] rather than [tests]
	
	* src/core/extlib/lazyList.ml: [seq], [map], [filter], [append] made lazier

	* src/core/extlib/lazyList.ml: [rev], [of_array], [rev_append_of_list], [of_list_eager], [rev_of_list] now eager

	* src/core/extlib/lazyList.ml: [cons], [nil] do not create a thunk anymore

	* src/core/extlib/pSet.ml*: [map], [filter], [filter_map] added

	* src/core/extlib/extSet.mli: documentation

	* src/core/extlib/pSet.mli: documentation

	* README: instructions for [make] now specify top

	* Makefile.in: in [install], toolchain is now marked as optional
	
	* tests/test_string.ml: created

	* src/core/extlib/extString.ml: [starts_with], [ends_with] rewritten without allocation

	* src/core/extlib/extSet.ml*: added [map], [filter_map]

	* src/core/extlib/extString.ml: [String.Cap.repeat] added

2009-02-14 Jeremie Dimino <jeremie@dimino.org>

	* build/META.in: reload Camlp4Top.cmo after loading pa_estring in the toplevel

	* src/syntax/pa_strings/pa_estring_top.ml: deleted

	* src/batteries_toolchain/top.ml: remove loading of "pa_estring_top.cmo"

2009-02-14  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* myocamlbuild.ml: Applied patch by St├ęphane Glondu

	* examples/snippets/snippets.itarget: [netchan-cat] => [netchan_cat]

	* src/main/nothreads/batteries.ml: 
	* src/main/threads/batteries.ml: [ExtFormat.Format] replaces [Format]

	* src/main/nothreads/batteries.mllib:
	* src/main/threads/batteries.mllib: [Format] removed

	* src/core/extlib/extFormat.ml*: created

	* src/main/threads/batteries.ml: [Future.Logger] added

	* src/main/nothreads/batteries.ml: [Future.Logger] added

	* src/core/extlib/extHashtbl.ml: [Labels.label] created

	* src/core/extlib/extHashtbl.ml: [Labels.*] reimplemented from [Labels.label]

2009-02-13  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extHashtbl.mli: Documentation on section Traversing

	* src/core/extlib/extHashtbl.ml: flattened

	* src/core/extlib/pMap.ml*: [filter], [filteri], [filter_map] added

	* src/core/extlib/pMap.ml: flattened

	* src/core/extlib/extMap.ml: flattened

	* src/core/extlib/extMap.ml*: [filter], [filteri], [filter_map] added

	* src/core/extlib/extGc.mli: [control] restored

	* src/core/extlib/_tags: <*.mli> now uses [use_optcomp_o]

	* src/core/extlib/extUnix.mli: [inet_addr] made an alias, [sockaddr] made concrete, [socket_bool_option] made concrete

2009-02-12  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/_tags: [extlib.mli] now uses [use_optcomp_o]

2009-02-12  Jeremie Dimino  <jeremie@dimino.org>

	* build/optcomp/optcomp*.ml: created

	* myocamlbuild.ml: adapt the semantic of optcomp tags	

	* **/_tags: adapt optcomp tags to the new behaviour
	
2009-02-12  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/main/nothreads/batteries.ml: [Safe_float] added

	* src/main/threads/batteries.ml: [Safe_float] added

	* src/core/extlib/extFloat.ml*: [Safe_float] added

	* src/core/extlib/extFloat.ml: flattened

	* src/core/extlib/extFloat.ml: [Base_safe_float] added

	* src/core/extlib/number.ml*: [NaN] added

	* src/syntax/pa_openin/pa_openin.ml: "include" replaced with "with"

	* src/batteries_toolchain/ocamlbuild: now compiling [myocamlbuild.ml] using regular ocamlbuild

2009-02-11  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/batteries_config.ml*: [max_array_length], [word_size], [max_string_length] added

	* Makefile.in: [tests] now uses regular [ocamlbuild] for cleanup
	
	* build/fix_camlp4_print.ml: created

2009-02-10  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/enum.ml*: [( /@ )], [( @/ )] added

	* src/core/extlib/extPervasives.mli: [( ~~ )] renamed [( --~ )]
	
	* src/core/extlib/enum.ml*: [( ~~ )] renamed [( --~ )]

	* src/core/extlib/extInt.mli: Doc typo fixed

	* src/core/extlib/extBuffer.mli: Doc typo fixed

	* src/core/extlib/extPrintf.mli: Doc typo fixed

	* src/core/extlib/extUnix.mli: Doc typo fixed

2009-02-09  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extRandom.ml*: [State.enum_*] added, [State.random_enum] added, [random_enum_with_state] renamed prandom_enum] and redefined from [State.random_enum]

	* src/core/extlib/extBigarray.ml: flattened

	* src/core/extlib/extBigarray.ml: [enum] rewritten

	* src/core/extlib/extArray.ml: [backwards] now uses [pre_decr], counts from [length] and stops at [0]

	* src/core/extlib/IO.mli: [output_channel] now accepts optional argument [cleanup]

	* src/core/extlib/innerIO.ml: [inherit_in], [inherit_out] added

	* src/core/extlib/extUnix.ml: [open_connection] rewritten

	* src/core/extlib/extUnix.ml*: [input_of_descr], [output_of_descr], [open_process_in], [open_process_out], [open_process], [open_process_full], [open_connection], [establish_server] now accept optional argument [cleanup]

	* src/core/extlib/innerIO.ml*: [output_channel] now accepts optional argument [cleanup]

	* Makefile.in: [tests], [tests-byte] added, added to [reinstall], [rebyte]
	
	* src/main/threads/batteries.ml: [Legacy.Digest] added

	* src/main/nothreads/batteries.ml: 

	* src/core/extlib/extHashtbl.mli: Documentation updates

	* src/core/extlib/extUnix.ml: [open Std] removed

	* src/core/extlib.mlpack: [ExtDigest] added

	* tests/test_digest.ml: created

	* tests/testing.ml: created

	* src/main/threads/batteries.mllib: [Digest] removed

	* src/main/nothreads/batteries.ml: [Digest] replaced with [Extlib.ExtDigest.Digest]

	* src/main/threads/batteries.ml: [Digest] replaced with [Extlib.ExtDigest.Digest]

	* src/main/threads/batteries.mllib: [Digest] removed

	* src/core/extlib/extDigest.ml: created

	* src/core/extlib/extDigest.mli: created

2009-02-08  David Rajchenbach-Teller  <David.Teller@univ-orleans.fr>

	* src/core/extlib/extRandom.ml*: made enumerations clonable.

	* doc/batteries/html/setup.html: documentation updated.

	* Makefile.in: [examples] now uses our [ocamlbuild]

	* examples/*: [myocamlbuild.ml] removed

2009-02-07  Jeremie Dimino <jeremie@dimino.org>

	* src/syntax/pa_strings/pa_strings.ml: fixed expansion of [ur"text"]

	* doc/batteries/html/extensions.html: documentation of the extension [ur"text"]

	* src/syntax/pa_strings/pa_estring.ml: import a bugfix from estring: expansion in
	class expressions

	* build/optcomp/*: upgrade to optcomp 1.1 (for bugfixes)