/ocaml, The latest implementation of the Caml dialect of ML
4.01.0, Package name:
ocaml-4.01.0, 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
* A high-performance native code compiler (in addition to a Caml
Light-style bytecode compiler).
Master sites: SHA1:
Version history: (Expand)
- (2013-11-01) Updated to version: ocaml-4.01.0
- (2013-03-14) Updated to version: ocaml-4.00.1nb2
- (2013-02-18) Updated to version: ocaml-4.00.1nb1
- (2012-10-08) Updated to version: ocaml-4.00.1
- (2012-06-22) Updated to version: ocaml-3.12.1nb1
- (2012-03-04) Updated to version: ocaml-3.12.1
CVS history: (Expand)
| 2013-12-10 20:26:22 by Jonathan Perkin | Files touched by this commit (1) |
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) |
Don't use -fno-defer-pop.
| 2013-11-01 11:47:50 by Jaap Boender | Files touched by this commit (12) | |
Update of lang/ocaml to its newest version, 4.01. Changes, apart from
- Labltk: updated to Tcl/Tk 8.6.
- 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
- 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,
- 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) |
Don't force -fno-defer-pop.
| 2013-03-15 16:41:51 by Ignatios Souvatzis | Files touched by this commit (1) |
Note that there's a difference using this rather than the older.
| 2013-03-14 15:44:58 by Thomas Klausner | Files touched by this commit (2) |
PKGREVISIOn does not belong in Makefile.common.
| 2013-03-14 15:37:56 by Ignatios Souvatzis | Files touched by this commit (2) | |
bump PKGREVISION to 4.00.1nb2
| 2013-03-14 15:29:49 by Ignatios Souvatzis | Files touched by this commit (3) | |
ocamlmklib adds absolute directories (that is, such starting with
'/') given to -L to run-time library search path passed to the
lower linker using -Wl,-rpath=
This is a problem, because even if we add the right directory with
-Wl,-rpath= or variants thereof, the wrong path still is in the
RPATH on the resulting binary. This might lead to the wrong library
being found at run-time.
To build clean packages when using ocamlmklib, '-elfmode' will switch
this behaviour off; when using '-elfmode', all following -L parameters
won't augment the RPATH, and it has to be updated seperately with
-dllpath, -Wl,-rpath= etc.
(This is a local pkgsrc stopgap addition, needed to proceed with
fixes to xentools41. The issue has been raised with upstream;
hopefully this patch can be reverted with a future ocaml package