[cwn] Attn: Development Editor, Latest Caml Weekly News

Alan Schmitt alan.schmitt at polytechnique.org
Tue May 22 00:46:42 PDT 2007


Hello,

Here is the latest Caml Weekly News, for the week of May 15 to 22, 2007.

1) Commercial users of functional programming: call for talks
2) OCaml release 3.10.0
3) ODT: OCaml Development Tools 1.0.1 released
4) Play with my balls

========================================================================
1) Commercial users of functional programming: call for talks
Archive: <http://groups.google.com/group/fa.caml/browse_frm/thread/ 
cfa60c27978858a5/75c7da8156bfea05#75c7da8156bfea05>
------------------------------------------------------------------------
** Simon Peyton-Jones announced:

This is just to remind you about the closing date for offers of talks  
at the

         2007 Commercial Users of Functional Programming workshop
                 <http://cufp.galois.com/>

The closing date is 1st June, in a couple of weeks.  The workshop  
itself is on
Oct 4, co-located with ICFP at Freiburg, Germany.

CUFP is a workshop for people who use functional programming (in some  
guise),
because it's the best way to get the job done, rather than because  
it's a cool
research topic.

It's a very informal workshop.  No papers, no proceedings -- just  
stand up and
tell us how it is for you.  But you have to tell us in advance so we  
can plan
the day.  Please get in touch with me or Kathleen Fisher (details at  
the URL
above).

You can also nominate someone else.  That's even easier.  (But ask them
first.)

And plan to come, too!
			
========================================================================
2) OCaml release 3.10.0
Archive: <http://groups.google.com/group/fa.caml/browse_frm/thread/ 
5428e4c33f348bd8/f8a41eba226dd685#f8a41eba226dd685>
------------------------------------------------------------------------
** Xavier Leroy announced:

I'm happy to announce the release of version 3.10.0 of Objective Caml
(the "ascension day" release).
The main novelties in this release include:

* Instance variables in classes can be declared virtual and
   implemented in subclasses. Syntax is val virtual v : t.

* Printing of stack backtraces on uncaught exceptions, previously
   available only for bytecode-compiled programs, is now supported for
   native-code programs as well. (Supported on Intel/AMD and PPC, in 32
   and 64 bits).

* New ports: MacOS X, PowerPC, 64 bits; Microsoft Windows 64 bits
   (x64) using the Microsoft PSDK toolchain; Microsoft Windows 32 bits
   using the Visual Studio 2005 toolchain.

* The Camlp4 preprocessor was partially reimplemented and offers a
   new, more modular API for syntax extensions. (Users of third-party
   syntax extensions may wish to stay with OCaml 3.09 until these
   extensions are ported to the new API.)

* A new experimental tool, ocamlbuild: a compilation manager that
   automates the building of OCaml applications and libraries.

A more detailed list of changes is appended.

Sources, documentation and Windows binary distributions are available
from the usual place:

      <http://caml.inria.fr/ocaml/release.html>

MacOS X binaries are not yet available.

Enjoy,

- Xavier Leroy

----------------------------------------------------------------------

Objective Caml 3.10.0:
----------------------

(Changes that can break existing programs are marked with a "*"  )

Language features:
- Added virtual instance variables in classes "val virtual v : t"
* Changed the behaviour of instance variable overriding; the new
   definition replaces the old one, rather than creating a new
   variable.

New tools:
- ocamlbuild: compilation manager for OCaml applications and libraries.
   See draft documentation at <http://gallium.inria.fr/~pouillar/>
* Camlp4: heavily revised implementation, new API.

New ports:
- MacOS X PowerPC 64 bits.
- MS Windows 64 bits (x64) using the Microsoft PSDK toolchain.
- MS Windows 32 bits using the Visual Studio 2005 toolchain.

Compilers:
- Faster type-checking of functor applications.
- Referencing an interface compiled with -rectypes from a module
     not compiled with -rectypes is now an error.
- Revised the "fragile matching" warning.

Native-code compiler:
- Print a stack backtrace on an uncaught exception.
   (Compile and link with ocamlopt -g; execute with OCAMLRUNPARAM=b.)
   Supported on Intel/AMD in 32 and 64 bits, PPC in 32 and 64 bits.
- Stack overflow detection on MS Windows 32 bits (courtesy O. Andrieu).
- Stack overflow detection on MacOS X PPC and Intel.
- Intel/AMD 64 bits: generate position-independent code by default.
- Fixed bug involving -for-pack and missing .cmx files (PR#4124).
- Fixed bug causing duplication of literals  (PR#4152).

Run-time system:
- C/Caml interface functions take "char const *" arguments
   instead of "char *" when appropriate.
- Faster string comparisons (fast case if strings are ==).

Standard library:
- Refined typing of format strings (type format6).
- Printf, Format: new function ifprintf that consumes its arguments
     and prints nothing (useful to print conditionally).
- Scanf:
     new function format_from_string to convert a string to a format  
string;
     new %r conversion to accomodate user defined scanners.
- Filename: improved Win32 implementation of Filename.quote.
- List: List.nth now tail-recursive.
- Sys: added Sys.is_directory.  Some functions (e.g. Sys.command) that
     could incorrectly raise Sys_io_blocked now raise Sys_error as  
intended.

Other libraries:
- Bigarray: mmap_file takes an optional argument specifying
     the start position of the data in the mapped file.
- Dynlink: now defines only two modules, Dynlink and Dynlinkaux  
(internal),
     reducing risks of name conflicts with user modules.
- Labltk under Win32: now uses Tcl/Tk 8.4 instead of 8.3 by default.
- VM threads: improved performance of I/O operations (less polling).
- Unix: new function Unix.isatty.
- Unix emulation under Win32:
     fixed incorrect error reporting in several functions (PR#4097);
     better handling of channels opened on sockets (PR#4098);
     fixed GC bug in Unix.system (PR#4112).

Documentation generator (OCamldoc):
- correctly handle '?' in value names (PR#4215)
- new option -hide-warnings not to print ocamldoc warnings

Lexer generator (ocamllex): improved error reporting.

License: fixed a typo in the "special exception" to the LGPL.
			
** Joel Reymont asked and Xavier Leroy answered:

 > Does it mean sources can be retrieved from CVS and just built,   
without
 > needing the 3.10 release tag?

No.  The CVS trunk is most probably broken, as all recent bug-fixing
was done within the release branch.
A quick guide to tags and branches in the OCaml CVS:

- Releases have tags of the form "ocamlNNNN", e.g. "ocaml3100" for  
3.10.0

- Release branches (where bug-fixing takes place) have tags of the form
   "releaseNNN", e.g. "release310" for the 3.10 branch

As of today, if you're tracking the CVS, I recommend using the branch
"release310", or "release309" if you need the old Camlp4.
			
========================================================================
3) ODT: OCaml Development Tools 1.0.1 released
Archive: <http://groups.google.com/group/fa.caml/browse_frm/thread/ 
de39d4022b044d64/2148fde0f4341c31#2148fde0f4341c31>
------------------------------------------------------------------------
** Emmanuel Dieul announced:

The new version of ODT has been released this morning. It is ready
for OCaml 3.10 and its new AST (e.g. virtual fields).

Everything is available on the ODT website: <http://ocamldt.free.fr>.
The "overview" page explains its current main features, and the
"install notes" page details some requirements and incompatibilities
with older versions of OCaml.
Some screenshots are also available to show the GUI.

Please, don't hesitate to try ODT (for personal or professional use)
and forward this mail to anyone which could be interested in.
			
========================================================================
4) Play with my balls
Archive: <http://groups.google.com/group/fa.caml/browse_frm/thread/ 
9465d27a266b0e81/eeb2506a24ba84b1#eeb2506a24ba84b1>
------------------------------------------------------------------------
** Jon Harrop announced:

Real-time 2D rigid body simulation with OpenGL visualization in under  
400
lines of OCaml code:

   <http://www.ffconsultancy.com/ocaml/balls/>

Handles 100 balls with sub-centisecond accuracy on my machine.
			
** Ken Rose asked and Mathias Kende answered:

 > I'm using a 2GHz AMD64x2,
 > and getting about 2fps from it.  Anybody have any idea what might be
 > going wrong?

Contrary to what is (was in fact) written on the web site, you should
compile the software with ocamlopt rather than with ocamlc.
I don't think that it relies heavily on the graphic card's driver.
			
========================================================================
Using folding to read the cwn in vim 6+
------------------------------------------------------------------------
Here is a quick trick to help you read this CWN if you are viewing it  
using
vim (version 6 or greater).

:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1
zM
If you know of a better way, please let me know.

========================================================================
Old cwn
------------------------------------------------------------------------

If you happen to miss a CWN, you can send me a message
(alan.schmitt at polytechnique.org) and I'll mail it to you, or go take  
a look at
the archive (<http://alan.petitepomme.net/cwn/>) or the RSS feed of the
archives (<http://alan.petitepomme.net/cwn/cwn.rss>). If you also wish
to receive it every week by mail, you may subscribe online at
<http://lists.idyll.org/listinfo/caml-news-weekly/> .

========================================================================


-- 
Alan Schmitt <http://alan.petitepomme.net/>

The hacker: someone who figured things out and made something cool  
happen.
  .O.
  ..O
  OOO


-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: =?ISO-8859-1?Q?Questa_=E8_un_messaggio_firmato_elettronicamente?=
Url : http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20070522/d3e83e02/attachment.pgp 


More information about the caml-news-weekly mailing list