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

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


Branch: CURRENT, Version: 4.01.0nb2, Package name: ocaml-4.01.0nb2, Maintainer: jaapb

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).


Master sites:

SHA1: a814feca204e50f082515a3845cdd18c6d0e24b6
RMD160: eedf28f446489c6b2c1f82782f5ee852293fc0b7
Filesize: 3604.58 KB

Version history: (Expand)


CVS history: (Expand)


   2014-03-13 12:08:54 by Jonathan Perkin | Files touched by this commit (67)
Log message:
Set USE_GCC_RUNTIME=yes for packages which build shared libraries but do
not use libtool to do so.  This is required to correctly depend upon a
gcc runtime package (e.g. gcc47-libs) when using USE_PKGSRC_GCC_RUNTIME.
   2014-03-11 11:29:30 by Jonathan Perkin | Files touched by this commit (1) | Package updated
Log message:
Don't limit the stub functions to x86_64 only on newer Darwin, i386
needs them too.  Fixes various dependencies.

Bump PKGREVISION.
   2014-01-17 11:03:23 by Masatake Daimon | Files touched by this commit (1)
Log message:
Fix build on Darwin 9.
   2013-12-21 17:21:20 by Christos Zoulas | Files touched by this commit (4)
Log message:
fix gethostbyfoo_r lossage.
   2013-12-10 20:26:22 by Jonathan Perkin | Files touched by this commit (1)
Log message:
natdynlink should only be enabled for 64-bit Darwin.  Fixes 32-bit build.
   2013-11-04 17:39:32 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
Don't use -fno-defer-pop.
   2013-11-01 11:47:50 by Jaap Boender | Files touched by this commit (12) | Package updated
Log message:
Update of lang/ocaml to its newest version, 4.01. Changes, apart from
bugfixes, include:

- Labltk: updated to Tcl/Tk 8.6.
Type system:
- use well-disciplined type information propagation to
  disambiguate label and constructor names
* Propagate type information towards pattern-matching, even in the presence of
  polymorphic variants (discarding only information about possibly-present
  constructors). As a result, matching against absent constructors is no longer
  allowed for exact and fixed polymorphic variant types.
* Reject multiple declarations of the same method or instance variable
  in an object
- raise an error when multiple private keywords are used in type
  declarations
- parsetree rewriter (-ppx flag)
- ocamldep now supports -absname
- On "unbound identifier" errors, use spell-checking to suggest names
  present in the environment
- ocamlc has a new option -dsource to visualize the parsetree
- tools/eqparsetree compares two parsetree ignoring location
- ocamlopt now uses clang as assembler on OS X if available, which enables
  CFI support for OS X.
- Added a new -short-paths option, which attempts to use the shortest
  representation for type constructors inside types, taking open modules
  into account. This can make types much more readable if your code
  uses lots of functors.
- added flag -compat-32 to ocamlc, ensuring that the generated
  bytecode executable can be loaded on 32-bit hosts.
- warning on open statements which shadow an existing
  identifier (if it is actually used in the scope of the open); new
  open! syntax to silence it locally
* warning 3 is extended to warn about other deprecated features:
  - ISO-latin1 characters in identifiers
  - uses of the (&) and (or) operators instead of (&&) and (||)
- Experimental OCAMLPARAM for ocamlc and ocamlopt
- incorrect ordinal number in error message
- add signature to Tstr_include
- expose a way to inspect the current call stack,
  Printexc.get_callstack
- new flag Marshal.Compat_32 for the serialization functions
  (Marshal.to_*), forcing the output to be readable on 32-bit hosts.
- infix application operators |> and @@ in Pervasives
- add O_CLOEXEC flag to Unix.openfile, so that the returned
  file descriptor is created in close-on-exec mode
* more efficient implementation of caml_modify() and caml_initialize().
  The new implementations are less lenient than the old ones: now,
  the destination pointer of caml_modify() must point within the minor or
  major heaps, and the destination pointer of caml_initialize() must
  point within the major heap.
- Moved debugger/envaux.ml to typing/envaux.ml to publish env_of_only_summary
  as part of compilerlibs, to be used on bin-annot files.
- The test suite can now be run without installing OCaml first.
   2013-10-27 21:34:00 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
Don't force -fno-defer-pop.