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

Alan Schmitt alan.schmitt at polytechnique.org
Tue Nov 10 05:33:23 PST 2015


Hello,

Here is the latest OCaml Weekly News, for the week of November 03 to 10, 2015.

1) Do we have a B-tree implementation in ocaml?
2) ocaml-amqp 0.0.1
3) containers 0.14
4) Other OCaml News

========================================================================
1) Do we have a B-tree implementation in ocaml?
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2015-11/msg00011.html>
------------------------------------------------------------------------
** Francois Berenger asked and Frédéric Bour replied:

> Hello, I am looking for even a simple implementation with at least the
> following operations: insert/add, remove, mem/contains and at_rank. The
> at_rank is especially important since it is inefficient to implement it
> using fold in a set like the ones from the stdlib.

If I understand well, you want an efficient rank function on a sequence, you
are not particularly interested in B-trees.

I have an implementation of balanced trees you might be interested into:

<https://github.com/def-lkb/grenier/blob/master/baltree/bt1.mli>

It is a binary tree with a smart constructor to ensure only balanced trees are
built.
Beside that, no other constraints are applied. In particular these are not
search trees although those can easily be implemented on top.

O(1) access to the size (number of items) is provided, and as such an O(log n)
rank function.

Performance is also quite competitive: although I did not push the code yet, I
implemented Map and Set from the standard library using these trees. On a
small set of benchmarks I ran, these were at worst 10% slower than the
standard ones.
      
========================================================================
2) ocaml-amqp 0.0.1
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2015-11/msg00036.html>
------------------------------------------------------------------------
** Continuing the thread from last week, Marek Kubica asked and Anders Peter Fugmann replied:

> Could you explain how it differs from netamqp? I see Issuu seems to
> maintain a fork of netamqp that runs on current OCaml versions.

The major difference is that netamqp is based on ocamlnet's async event system
whereas Ocaml-amqp is based on Core Async.

The bindings not only exposes the AMQP 0-9-1 protocol, but also
tries to give the developer a higher abstraction layer for using standard Amqp
patterns.

The library is written in my spare time, and has not yet been battle tested in
a production environment (Although I expect this to happen soon).

Please be aware that even though I do not expect major changes to the API, the
library is still in heavy development. Please send feedback, including
suggestions on the API so that these can be incorporated into the next
version.

> Also, are there plans to have an Lwt backend as well, in a similar way
> to Cohttp?

That is currently not a priority. I was considering it when I started though.
      
========================================================================
3) containers 0.14
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2015-11/msg00047.html>
------------------------------------------------------------------------
** Simon Cruanes announced:

I have the pleasure to announce that version 0.14 of containers has been
released and is available on opam. The change log can be found at
<https://github.com/c-cube/ocaml-containers/blob/0.14/CHANGELOG.adoc> .

Containers has been steadily growing and improving during the past year,
with a cleaner code, many more tests, functions and more benchmarks. The
documentation page (<http://cedeela.fr/~simon/software/containers/>)
gives an overview of all the available modules. The core library,
designed as an extension to OCaml's standard library, has no additional
runtime dependency but base-bytes and should therefore be usable from
within js_of_ocaml or Mirage; moreover, every module is independent.

The mailing list for questions, ideas, and other discussions about
containers is: containers-users at lists.ocaml.org . Bugs or feature
requests should be submitted on
<https://github.com/c-cube/ocaml-containers> or, for github skeptics, on
the mailing list.

Although the library is getting more and more stable, it has not reached
1.0 yet. It is possible that a large breaking change will occur before
1.0; namely, adding labels to many functions. Any feedback about this
change is welcome.
      
========================================================================
4) Other OCaml News
------------------------------------------------------------------------
** From the ocamlcore planet blog:

Thanks to Alp Mestan, we now include in the OCaml Weekly News the links to the
recent posts from the ocamlcore planet blog at <http://planet.ocaml.org/>.

Andrej Bauer: Agda Writer
  <http://math.andrej.com/2015/11/07/agda-writer/>

Github OCaml jobs: Full Time: Software Developer (Functional Programming) at Jane Street in New York, NY; London, UK; Hong Kong
  <http://jobs.github.com/positions/0a9333c4-71da-11e0-9ac7-692793c00b45>
      
========================================================================
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/> .

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

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Athmospheric CO₂ (Updated November 9, 2015, Mauna Loa Obs.): 399.06 ppm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20151110/2b994ece/attachment.pgp>


More information about the caml-news-weekly mailing list