./lang/ocaml, The latest implementation of the Caml dialect of ML

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.12.0, Package name: ocaml-3.12.0, Maintainer: adam

Objective Caml is the latest implementation of the Caml dialect of ML. The main
novelties compared with its ancestor, Caml Light, are:

* Full support for objects and classes -- here combined for the first time
with ML-style type reconstruction.
* A powerful module calculus in the style of Standard ML (but retaining
separate compilation).
* A high-performance native code compiler (in addition to a Caml
Light-style bytecode compiler).


Required to build:
[devel/gmake]

Master sites:

SHA1: 33ebbfb1115806f117808f37e40d206c8994943d
RMD160: 3d10d5f7431d8200688fa74122e7ed528126a0fa
Filesize: 2577.196 KB

Version history: (Expand)


CVS history: (Expand)


   2010-08-21 17:02:14 by Thomas Klausner | Files touched by this commit (1)
Log message:
Unlimit stacksize, needed at least on my 5.99.38/amd64.
   2010-08-19 10:06:53 by Aleksej Saushev | Files touched by this commit (16) | Package updated
Log message:
Update to O'Caml 3.12.0, add test target.

Some of the highlights in release 3.12 are:

  * Polymorphic recursion is supported, using explicit type
    declarations on the recursively-defined identifiers.
  * First-class modules: module expressions can be embedded as
    values of the core language, then manipulated like any other
    first-class value, then projected back to the module level.
  * New operator to modify a signature a posteriori: S with type
    t := tau denotes signature S where the t type component is
    removed and substituted by the type tau elsewhere.
  * New notations for record expressions and record patterns:
    { lbl } as shorthand for { lbl = lbl }, and { ...; _ } marks
    record patterns where some labels were intentionally omitted.
  * Local open let open ... in ... now supported by popular demand.
  * Type variables can be bound as type parameters to functions;
    such types are treated like abstract types within the
    function body, and like type variables (possibly generalized)
    outside.
  * The module type of construct enables to recover the module
    type of a given module.
  * Explicit method override using the method! keyword, with
    associated warnings and errors.
   2010-04-22 09:01:13 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
Remove patch that was removed from distinfo during update to 3.11.2.
   2010-04-22 01:08:50 by Zafer Aydogan | Files touched by this commit (2) | Package updated
Log message:
update ocaml to 3.11.2

Changelog:
Bug fixes:
- PR#4151: better documentation for min and max w.r.t. NaN
- PR#4421: ocamlbuild uses wrong compiler for C files
- PR#4710, PR#4720: ocamlbuild does not use properly configuration information
- PR#4750: under some Windows installations, high start-up times for Unix lib
- PR#4777: problem with scanf and CRLF
- PR#4783: ocamlmklib problem under Windows
- PR#4810: BSD problem with socket addresses, e.g. in Unix.getnameinfo
- PR#4813: issue with parsing of float literals by the GNU assembler
- PR#4816: problem with modules and private types
- PR#4818: missed opportunity for type-based optimization of bigarray accesses
- PR#4821: check for duplicate method names in classes
- PR#4823: build problem on Mac OS X
- PR#4836: spurious errors raised by Unix.single_write under Windows
- PR#4841, PR#4860, PR#4930: problem with ocamlopt -output-obj under Mac OS X
- PR#4847: C compiler error with ocamlc -output-obj under Win64
- PR#4856: ocamlbuild uses ocamlrun to execute a native plugin
- PR#4867, PR#4760: ocamlopt -shared fails on Mac OS X 64bit
- PR#4873: ocamlbuild ignores "thread" tag when building a custom toplevel
- PR#4890: ocamlbuild tries to use native plugin on bytecode-only arch
- PR#4896: ocamlbuild should always pass -I to tools for external libraries
- PR#4900: small bug triggering automatic compaction even if max_overhead = 1M
- PR#4902: bug in %.0F printf format
- PR#4910: problem with format concatenation
- PR#4922: ocamlbuild recompiles too many files
- PR#4923: missing \xff for scanf %S
- PR#4933: functors not handling private types correctly
- PR#4940: problem with end-of-line in DOS text mode, tentative fix
- PR#4953: problem compiling bytecode interpreter on ARM in Thumb mode.
- PR#4955: compiler crash when typing recursive type expression with constraint
- Module Printf: the simple conversion %F (without width indication) was not
           treated properly.
- Makefile: problem with cygwin, flexdll, and symbolic links
- Various build problems with ocamlbuild under Windows with msvc

Feature wishes:
- PR#9: (tentative implementation) make ocamldebug use #linenum annotations
- PR#123, PR#4477: custom exception printers
- PR#3456: Obj.double_field and Obj.set_double_field functions
- PR#4003: destination directory can be given to Filename.[open_]temp_file
- PR#4647: Buffer.blit function
- PR#4685: access to Filename.dir_sep
- PR#4703: support for debugging embedded applications
- PR#4723: "clear_rules" function to empty the set of ocamlbuild rules
- PR#4921: configure option to help cross-compilers
   2009-11-19 04:18:58 by Min Sik Kim | Files touched by this commit (1)
Log message:
ocaml's stub libraries are also built on 64-bit Darwin 10.
   2009-11-19 04:05:57 by Min Sik Kim | Files touched by this commit (2)
Log message:
Let ocaml's configure recognize 64-bit Darwin 10.
   2009-10-18 14:47:53 by Antoine Reilles | Files touched by this commit (2)
Log message:
Fix PR pkg/42190
Use #ifdef SIN6_LEN to know whether we have a 4.3 bsd or 4.4 bsd sockaddr
structure.
   2009-09-22 22:19:30 by Antoine Reilles | Files touched by this commit (2)
Log message:
Fix build with db4 [PR pkg/42061]