## OCaml Release 3.08.0

Objective Caml release 3.08.0 is official and incorporates many improvements. A big thank-you to the OCaml team for this stable release. Those on the bleeding edge of post-3.08 CVS work can follow Xavier's advice.

## Comment viewing options

### Won my heart right off the bat

The first two new features were both very welcome surprises to me: anonymous objects and lighter record syntax.
Language features:
- Support for immediate objects, i.e. objects defined without going
through a class.  (Syntax is "object  end".)

The old way of doing this was to use "let module", as in "let module M = struct class c = object (self) ... end end in new M.c ...", which sort of made it useless as a way to create simple polymorphic records.
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 = ... }

This is a huge improvement, since it lets you achieve modularity without so much extra typing. Most of the time, I think record field names should live in their own namespaces; you shouldn't have to sacrifice modularity to save a few keystrokes. =)

Keep up the good work!

### I loved this one

 - Windows ports: many improvements in the OCamlWin toplevel application (history, save inputs to file, etc). Contributed by Christopher A. Watford. 

Last time I tried to learn OCaml, I threw my hands in frustration because of the poor state of OCamlWin. Now I'm looking at this tutorial found here a few days ago and liking it!

### Emacs + tuareg mode

Well, if you use (X)Emacs, you can download tuareg mode. It is far better than the plain OCaml toplevel and even the new and improved windows interface.