Hello
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.html
ygrek 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.html
Dmitry 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.html
Sylvain 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.html
Yoriyuki 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.