caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Objective Caml release 3.08
@ 2004-07-13 11:55 Xavier Leroy
  2004-07-13 15:02 ` skaller
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Xavier Leroy @ 2004-07-13 11:55 UTC (permalink / raw)
  To: caml-announce

Objective Caml version 3.08 -- the "Bastille day" release -- is now
available from

        http://caml.inria.fr/ocaml/distrib.html

A detailed list of changes since 3.07 is appended below.  Some of
these changes, marked with a "*" below, can break existing programs
that relied on undefined or non-portable behaviour.  Please keep them
in mind while recompiling your programs.

Enjoy,

- Xavier Leroy, for the Objective Caml team.


Objective Caml 3.08:
--------------------

Language features:
- Support for immediate objects, i.e. objects defined without going
  through a class.  (Syntax is "object <fields and methods> end".)

Type-checking:
- When typing record construction and record patterns, can omit
  the module qualification on all labels except one.  I.e.
  { M.l1 = ...; l2 = ... } is interpreted as { M.l1 = ...; M.l2 = ... }

Both compilers:
- More compact compilation of classes.
- Much more efficient handling of class definitions inside functors
  or local modules.
- Simpler representation for method tables. Objects can now be marshaled
  between identical programs with the flag Marshal.Closures.
- Improved error messages for objects and variants.
- Improved printing of inferred module signatures (toplevel and ocamlc -i).
  Recursion between type, class, class type and module definitions is now
  correctly printed.
- The -pack option now accepts compiled interfaces (.cmi files) in addition
  to compiled implementations (.cmo or .cmx).
* A compile-time error is signaled if an integer literal exceeds the
  range of representable integers.
- Fixed code generation error for "module rec" definitions.
- The combination of options -c -o sets the name of the generated
  .cmi / .cmo / .cmx files.

Bytecode compiler:
- Option -output-obj is now compatible with Dynlink and 
  with embedded toplevels.

Native-code compiler:
- Division and modulus by zero correctly raise exception Division_by_zero
  (instead of causing a hardware trap).
- Improved compilation time for the register allocation phase.
- The float constant -0.0 was incorrectly treated as +0.0 on some processors.
- AMD64: fixed bugs in asm glue code for GC invocation and exception raising
  from C.
- IA64: fixed incorrect code generated for "expr mod 1".
- PowerPC: minor performance tweaks for the G4 and G5 processors.

Standard library:
* Revised handling of NaN floats in polymorphic comparisons.
  The polymorphic boolean-valued comparisons (=, <, >, etc) now treat
  NaN as uncomparable, as specified by the IEEE standard.
  The 3-valued comparison (compare) treats NaN as equal to itself
  and smaller than all other floats.  As a consequence, x == y
  no longer implies x = y but still implies compare x y = 0.
* String-to-integer conversions now fail if the result overflows
  the range of integers representable in the result type.
* All array and string access functions now raise
  Invalid_argument("index out of bounds") when a bounds check fails.
  In earlier releases, different exceptions were raised
  in bytecode and native-code.
- Module Buffer: new functions Buffer.sub, Buffer.nth
- Module Int32: new functions Int32.bits_of_float, Int32.float_of_bits.
- Module Map: new functions is_empty, compare, equal.
- Module Set: new function split.
* Module Gc: in-order finalisation, new function finalise_release.

Other libraries:
- The Num library: complete reimplementation of the C/asm lowest
  layer to work around potential licensing problems.
  Improved speed on the PowerPC and AMD64 architectures.
- The Graphics library: improved event handling under MS Windows.
- The Str library: fixed bug in "split" functions with nullable regexps.
- The Unix library:
   . Added Unix.single_write.
   . Added support for IPv6.
   . Bug fixes in Unix.closedir.
   . Allow thread switching on Unix.lockf.

Runtime System:
* Name space depollution: all global C identifiers are now prefixed
  with "caml" to avoid name clashes with other libraries.  This
  includes the "external" primitives of the standard runtime.

Ports:
- Windows ports: many improvements in the OCamlWin toplevel application
  (history, save inputs to file, etc).  Contributed by Christopher A. Watford.
- Native-code compilation supported for HPPA/Linux. Contributed by Guy Martin.
- Removed support for MacOS9.  Mac OS 9 is obsolete and the port was not
  updated since 3.05.
- Removed ocamlopt support for HPPA/Nextstep and Power/AIX.

Ocamllex:
- #line directives in the input file are now accepted.
- Added character set concatenation operator "cset1 # cset2".

Ocamlyacc:
- #line directives in the input file are now accepted.

Camlp4:
* Support for new-style locations (line numbers, not just character numbers).
- See camlp4/CHANGES and camlp4/ICHANGES for more info.

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] Objective Caml release 3.08
  2004-07-13 11:55 [Caml-list] Objective Caml release 3.08 Xavier Leroy
@ 2004-07-13 15:02 ` skaller
  2004-07-13 15:05 ` skaller
  2004-07-15 16:33 ` David Brown
  2 siblings, 0 replies; 5+ messages in thread
From: skaller @ 2004-07-13 15:02 UTC (permalink / raw)
  To: Xavier Leroy; +Cc: caml-announce

On Tue, 2004-07-13 at 21:55, Xavier Leroy wrote:

> 
> Ocamllex:
> - #line directives in the input file are now accepted.
> - Added character set concatenation operator "cset1 # cset2".
> 
> Ocamlyacc:
> - #line directives in the input file are now accepted.
> 
> Camlp4:
> * Support for new-style locations (line numbers, not just character numbers).
> - See camlp4/CHANGES and camlp4/ICHANGES for more info.

Yay!! Thanks for these changes! At last my LP tool
can generate line directives in all my code and
problems will be reflected back to the LP sources
not the generated ones!

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] Objective Caml release 3.08
  2004-07-13 11:55 [Caml-list] Objective Caml release 3.08 Xavier Leroy
  2004-07-13 15:02 ` skaller
@ 2004-07-13 15:05 ` skaller
  2004-07-13 16:25   ` Xavier Leroy
  2004-07-15 16:33 ` David Brown
  2 siblings, 1 reply; 5+ messages in thread
From: skaller @ 2004-07-13 15:05 UTC (permalink / raw)
  To: Xavier Leroy; +Cc: caml-announce

On Tue, 2004-07-13 at 21:55, Xavier Leroy wrote:
> Objective Caml version 3.08 -- the "Bastille day" release -- is now
> available from
> 
>         http://caml.inria.fr/ocaml/distrib.html
> 

Dumb question .. sorry .. I use CVS and switched as advised
to the 3.08 tag. Should I continue to use CVS this way
(the tag is sticky, right?) My intent is to use the latest
and greatest (and posssibly bugged) CVS version.

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] Objective Caml release 3.08
  2004-07-13 15:05 ` skaller
@ 2004-07-13 16:25   ` Xavier Leroy
  0 siblings, 0 replies; 5+ messages in thread
From: Xavier Leroy @ 2004-07-13 16:25 UTC (permalink / raw)
  To: skaller; +Cc: caml-list

> Dumb question .. sorry .. I use CVS and switched as advised
> to the 3.08 tag. Should I continue to use CVS this way
> (the tag is sticky, right?) My intent is to use the latest
> and greatest (and posssibly bugged) CVS version.

In this case, you can switch back to the "trunk" (the development branch)
by running "cvs update -A".  Presently, the trunk is identical to the
3.08 release, but development should resume soon.

Users who would rather use CVS to track bug fixes but not (possibly
buggy) new developments should stay on the "release_308" branch for a
while.

- Xavier Leroy

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] Objective Caml release 3.08
  2004-07-13 11:55 [Caml-list] Objective Caml release 3.08 Xavier Leroy
  2004-07-13 15:02 ` skaller
  2004-07-13 15:05 ` skaller
@ 2004-07-15 16:33 ` David Brown
  2 siblings, 0 replies; 5+ messages in thread
From: David Brown @ 2004-07-15 16:33 UTC (permalink / raw)
  To: Xavier Leroy; +Cc: caml-announce

On Tue, Jul 13, 2004 at 01:55:59PM +0200, Xavier Leroy wrote:
> Objective Caml version 3.08 -- the "Bastille day" release -- is now
> available from

Just wanted to say that my large test framework for testing a bunch of C
code (lots of bindings) builds and runs without change on Ocaml 3.08, so
the compatibility stuff is working here.

Dave Brown

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-07-15 16:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-13 11:55 [Caml-list] Objective Caml release 3.08 Xavier Leroy
2004-07-13 15:02 ` skaller
2004-07-13 15:05 ` skaller
2004-07-13 16:25   ` Xavier Leroy
2004-07-15 16:33 ` David Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).