Here is the latest Caml Weekly News, for the week of May 17 to 24, 2011.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-05/msg00126.htmlygrek announced:
I am glad to announce that fresh release of Ragel (state machine compiler) includes ocaml codegen. Ragel is convenient to generate lexers or sometimes even parsers for simple formats. See http://www.complang.org/ragel/ChangeLog
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-05/msg00128.htmlDmitry Grebeniuk asked and Jacques Garrigue replied:
> I have a base class with virtual methods and an extended classes > where these methods are implemented. > When I'm ascribing type "base" to class "ext", I get an error: > > ============= > OCaml version 3.13.0+dev3 (2011-03-07) > > # class virtual base = object method virtual m : unit end;; > class virtual base : object method virtual m : unit end > # class ext : base = object method m = () end;; > Characters 6-43: > class ext : base = object method m = () end;; > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Error: This class should be virtual. The following methods are undefined : m > # > ============= > > Is it the expected behaviour? It is indeed the expected behaviour. Like a module signature, a class signature provides complete information. If you declare a method as virtual in the signature, it will be made virtual by the ascription (this is allowed, since virtual is a "supertype" of concrete). In such a case you should rather use a class type: class type base = object method m : unit end As suggested by others, if you don't want to suggest such a class type you can also use the derived object type: class ext = object (_ : #base) method m = () end These different approaches are described in the manual.
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-05/msg00136.htmlSylvain Le Gall announced:
This library implements the xdg-basedir specification. It helps to define standard locations for configuration, cache and data files in the user directory and on the system. It is a straightforward implementation on UNIX platform and try to apply consistent policies with regard to Windows directories. It is inspired by the Haskell implementation of this specification, and it follows the same choices for Windows directories. The xdg-basedir specification: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html The Haskell implementation: http://github.com/willdonnelly/xdg-basedir The API of this implementation: http://xdg-basedir.forge.ocamlcore.org/api Get source code: $ darcs get https://forge.ocamlcore.org/anonscm/darcs/xdg-basedir/ocaml-xdg-basedir/ Browse source code: http://darcs.ocamlcore.org/cgi-bin/darcsweb.cgi?r=xdg-basedir/ocaml-xdg-basedir;a=summary
Archive: https://sympa-roc.inria.fr/wws/arc/caml-list/2011-05/msg00140.htmlYoriyuki Yamagata announced:
I'm pleased to announce Camomile 0.8.3, a Unicode library for OCaml. This is a bug fix release which fixes a bug concerning casefolding (a function removing case from the string) abd compare_caseless (comparison of strings ignoring lower and upper cases). You can download the new version from http://prdownloads.sourceforge.net/camomile/camomile-0.8.3.tar.bz2 You can find the general information about the project from the project page http://camomile.sourceforge.net/
Thanks to Alp Mestan, we now include in the Caml Weekly News the links to the recent posts from the ocamlcore planet blog at http://planet.ocamlcore.org/. Zarith: arbitrary-precision integers: https://forge.ocamlcore.org/projects/zarith/ Unbreaking Scalable Web Development, One Loc at a Time: http://dutherenverseauborddelatable.wordpress.com/2011/05/23/unbreaking-scalable-web-development-one-loc-at-a-time/ OCaml Meeting 2011: http://www.ocamlcore.com/wp/2011/05/ocaml-meeting-2011/ Dynamically linked OCurl 0.5.3: http://alaska-kamtchatka.blogspot.com/2011/05/dynamically-linked-ocurl-053.html Raw access to C structures from OCaml: http://gaiustech.wordpress.com/2011/05/17/accessing-c-memory-structures-from-ocaml/ And Yet They Complain: http://alaska-kamtchatka.blogspot.com/2011/05/and-yet-they-complain.html Dose3 in debian experimental !: https://mancoosi.org/~abate/dose3-debian-experimental
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.