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

Alan Schmitt alan.schmitt at polytechnique.org
Tue May 24 05:25:27 PDT 2011


Hello,

Here is the latest Caml Weekly News, for the week of May 17 to 24, 2011.

1) ragel 6.7
2) ocaml, objects, classes, type ascription, virtual methods
3) ocaml-xdg-basedir v0.0.1: XDG basedir location for data/cache/configuration files
4) Camomile 0.8.3
5) Other Caml News

========================================================================
1) ragel 6.7
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>
      
========================================================================
2) ocaml, objects, classes, type ascription, virtual methods
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.
      
========================================================================
3) ocaml-xdg-basedir v0.0.1: XDG basedir location for data/cache/configuration files
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>
      
========================================================================
4) Camomile 0.8.3
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/>
      
========================================================================
5) Other Caml News
------------------------------------------------------------------------
** From the ocamlcore planet blog:

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>
      
========================================================================
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/> .

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 495 bytes
Desc: This is a digitally signed message part
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20110524/f1a9a25e/attachment.pgp>


More information about the caml-news-weekly mailing list