--- - branch: MAIN date: Mon Sep 7 21:48:14 UTC 2009 files: - new: '1.23' old: '1.22' path: pkgsrc/lang/ocaml/Makefile.common pathrev: pkgsrc/lang/ocaml/Makefile.common@1.23 type: modified - new: '1.21' old: '1.20' path: pkgsrc/lang/ocaml/PLIST pathrev: pkgsrc/lang/ocaml/PLIST@1.21 type: modified - new: '1.15' old: '1.14' path: pkgsrc/lang/ocaml/PLIST.opt pathrev: pkgsrc/lang/ocaml/PLIST.opt@1.15 type: modified - new: '1.6' old: '1.5' path: pkgsrc/lang/ocaml/PLIST.prof pathrev: pkgsrc/lang/ocaml/PLIST.prof@1.6 type: modified - new: '1.45' old: '1.44' path: pkgsrc/lang/ocaml/distinfo pathrev: pkgsrc/lang/ocaml/distinfo@1.45 type: modified - new: '1.7' old: '1.6' path: pkgsrc/lang/ocaml/patches/patch-aj pathrev: pkgsrc/lang/ocaml/patches/patch-aj@1.7 type: modified - new: '1.17' old: '1.16' path: pkgsrc/lang/ocaml/patches/patch-at pathrev: pkgsrc/lang/ocaml/patches/patch-at@1.17 type: modified - new: '1.4' old: '1.3' path: pkgsrc/lang/ocaml/patches/patch-au pathrev: pkgsrc/lang/ocaml/patches/patch-au@1.4 type: modified - new: '1.4' old: '1.3' path: pkgsrc/lang/ocaml/patches/patch-ax pathrev: pkgsrc/lang/ocaml/patches/patch-ax@1.4 type: modified - new: '1.4' old: '1.3' path: pkgsrc/lang/ocaml/patches/patch-bq pathrev: pkgsrc/lang/ocaml/patches/patch-bq@1.4 type: modified - new: '1.4' old: '1.3' path: pkgsrc/lang/ocaml/patches/patch-br pathrev: pkgsrc/lang/ocaml/patches/patch-br@1.4 type: modified - new: '1.4' old: '1.3' path: pkgsrc/lang/ocaml/patches/patch-bt pathrev: pkgsrc/lang/ocaml/patches/patch-bt@1.4 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-ay pathrev: pkgsrc/lang/ocaml/patches/patch-ay@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-az pathrev: pkgsrc/lang/ocaml/patches/patch-az@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-be pathrev: pkgsrc/lang/ocaml/patches/patch-be@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-bf pathrev: pkgsrc/lang/ocaml/patches/patch-bf@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-bh pathrev: pkgsrc/lang/ocaml/patches/patch-bh@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-bi pathrev: pkgsrc/lang/ocaml/patches/patch-bi@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-bk pathrev: pkgsrc/lang/ocaml/patches/patch-bk@1.3 type: modified - new: '1.3' old: '1.2' path: pkgsrc/lang/ocaml/patches/patch-bu pathrev: pkgsrc/lang/ocaml/patches/patch-bu@1.3 type: modified - new: '1.6' old: '1.5' path: pkgsrc/lang/ocaml/patches/patch-ba pathrev: pkgsrc/lang/ocaml/patches/patch-ba@1.6 type: modified - new: '1.6' old: '1.5' path: pkgsrc/lang/ocaml/patches/patch-bs pathrev: pkgsrc/lang/ocaml/patches/patch-bs@1.6 type: modified - new: '1.2' old: '1.1' path: pkgsrc/lang/ocaml/patches/patch-bb pathrev: pkgsrc/lang/ocaml/patches/patch-bb@1.2 type: modified - new: '1.2' old: '1.1' path: pkgsrc/lang/ocaml/patches/patch-bc pathrev: pkgsrc/lang/ocaml/patches/patch-bc@1.2 type: modified - new: '1.2' old: '1.1' path: pkgsrc/lang/ocaml/patches/patch-bd pathrev: pkgsrc/lang/ocaml/patches/patch-bd@1.2 type: modified - new: '1.2' old: '1.1' path: pkgsrc/lang/ocaml/patches/patch-bg pathrev: pkgsrc/lang/ocaml/patches/patch-bg@1.2 type: modified - new: '1.10' old: '1.9' path: pkgsrc/x11/ocaml-graphics/Makefile pathrev: pkgsrc/x11/ocaml-graphics/Makefile@1.10 type: modified - new: '1.6' old: '1.5' path: pkgsrc/x11/ocaml-graphics/PLIST pathrev: pkgsrc/x11/ocaml-graphics/PLIST@1.6 type: modified id: 20090907T214814Z.222deaba7590c7900b71ff8037c8a22005080efe log: | Update lang/ocaml to 3.11.1 [PR pkg/41695] (Changes that can break existing programs are marked with a "*" ) Language features: - Addition of lazy patterns: "lazy " matches suspensions whose values, after forcing, match the pattern . - Introduction of private abbreviation types "type t = private ", for abstracting the actual manifest type in type abbreviations. - Subtyping is now allowed between a private abbreviation and its definition, and between a polymorphic method and its monomorphic instance. Compilers: - The file name for a compilation unit should correspond to a valid identifier (Otherwise dynamic linking and other things can fail, and a warning is emitted.) * Revised -output-obj: the output name must now be provided; its extension must be one of .o/.obj, .so/.dll, or .c for the bytecode compiler. The compilers can now produce a shared library (with all the needed -ccopts/-ccobjs options) directly. - -dtypes renamed to -annot, records (in .annot files) which function calls are tail calls. - All compiler error messages now include a file name and location, for better interaction with Emacs' compilation mode. - Optimized compilation of "lazy e" when the argument "e" is already evaluated. - Optimized compilation of equality tests with a variant constant constructor. - The -dllib options recorded in libraries are no longer ignored when -use_runtime or -use_prims is used (unless -no_auto_link is explicitly used). - Check that at most one of -pack, -a, -shared, -c, -output-obj is given on the command line. - Optimized compilation of private types as regular manifest types (e.g. abbreviation to float, float array or record types with only float fields). Native-code compiler: - New port: Mac OS X / Intel in 64-bit mode (configure with -cc "gcc -m64"). - A new option "-shared" to produce a plugin that can be dynamically loaded with the native version of Dynlink. - A new option "-nodynlink" to enable optimizations valid only for code that is never dynlinked (no-op except for AMD64). - More aggressive unboxing of floats and boxed integers. - Can select which assembler and asm options to use at configuration time. Run-time system: - New implementation of the page table describing the heap (two-level array in 32 bits, sparse hashtable in 64 bits), fixes issues with address space randomization on 64-bit OS (PR#4448). - New "generational" API for registering global memory roots with the GC, enables faster scanning of global roots. (The functions are caml_*_generational_global_root in .) - New function "caml_raise_with_args" to raise an exception with several arguments from C. - Changes in implementation of dynamic linking of C code: under Win32, use Alain Frisch's flexdll implementation of the dlopen API; under MacOSX, use dlopen API instead of MacOSX bundle API. - Programs may now choose a first-fit allocation policy instead of the default next-fit. First-fit reduces fragmentation but is slightly slower in some cases. Standard library: - Parsing library: new function "set_trace" to programmatically turn on or off the printing of a trace during parsing. - Printexc library: new functions "print_backtrace" and "get_backtrace" to obtain a stack backtrace of the most recently raised exception. New function "record_backtrace" to turn the exception backtrace mechanism on or off from within a program. - Scanf library: fine-tuning of meta format implementation; fscanf behaviour revisited: only one input buffer is allocated for any given input channel; the %n conversion does not count a lookahead character as read. Other libraries: - Dynlink: on some platforms, the Dynlink library is now available in native code. The boolean Dynlink.is_native allows the program to know whether it has been compiled in bytecode or in native code. - Bigarrays: added "unsafe_get" and "unsafe_set" (non-bound-checking versions of "get" and "set"). - Bigarrays: removed limitation "array dimension < 2^31". - Labltk: added support for TK 8.5. - Num: added conversions between big_int and int32, nativeint, int64. More efficient implementation of Num.quo_num and Num.mod_num. - Threads: improved efficiency of mutex and condition variable operations; improved interaction with Unix.fork (PR#4577). - Unix: added getsockopt_error returning type Unix.error. Added support for TCP_NODELAY and IPV6_ONLY socket options. - Win32 Unix: "select" now supports all kinds of file descriptors. Improved emulation of "lockf" (PR#4609). Tools: - ocamldebug now supported under Windows (MSVC and Mingw ports), but without the replay feature. (Contributed by Dmitry Bely and Sylvain Le Gall at OCamlCore with support from Lexifi.) - ocamldoc: new option -no-module-constraint-filter to include functions hidden by signature constraint in documentation. - ocamlmklib and ocamldep.opt now available under Windows ports. - ocamlmklib no longer supports the -implib option. - ocamlnat: an experimental native toplevel (not built by default). Camlp4: * programs linked with camlp4lib.cma now also need dynlink.cma. module: pkgsrc subject: 'CVS commit: pkgsrc' unixtime: '1252360094' user: tonio