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

Alan Schmitt alan.schmitt at polytechnique.org
Tue Feb 14 06:25:46 PST 2012


Hello,

Here is the latest Caml Weekly News, for the week of February 07 to 14, 
2012.

1) Vim plugin
2) llpp v10
3) OCaml/MinGW
4) interval trees
5) Package installation assumptions made by odb
6) Interval programming library
7) Other Caml News

========================================================================
1) Vim plugin
Archive: 
<https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00045.html>
------------------------------------------------------------------------
** Continuing the thread from last week, Pierre Vittet announced:

I have made a minor update of the plugin: When we print the type using
<LocalLeader>t, the type is also copied in the unnamed register. This 
allows
to copy it easily.

<http://www.vim.org/scripts/script.php?script_id=3906>

========================================================================
2) llpp v10
Archive: 
<https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00047.html>
------------------------------------------------------------------------
** malc announced:

New version of llpp is now available (tagged v10) at
<http://repo.or.cz/w/llpp.git> ;

Blurb:

llpp a graphical PDF viewer which aims to superficially resemble
less(1)

Changes (relative to v7, last version being announced here):

* MuPDF grown itslef XPS and CBZ support
* Margin trimming
* Multi column mode
* Probably more, since:

llpp$ git diff --stat v7..v10 | tail -1
  11 files changed, 5206 insertions(+), 2514 deletions(-)

How to build/run: <http://www.youtube.com/watch?v=9xtIqD_mHRw>

========================================================================
3) OCaml/MinGW
Archive: 
<https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00055.html>
------------------------------------------------------------------------
** malc announced:

GCC shipped with (current) MingW no longer recognizes -mno-cygwin
argument, my oline searches for a workaround were fruitless, but
turns out there is one, one can create a self specs file and
make gcc (the driver) strip -mno-cygwin from cc1 invokation. This
can be done by putting a file named "specs" into a directory listed
under "install:" in the output of `gcc -print-search-dirs' containing
following line:
*cc1: %<mno-cygwin

Hope that would save someone the trouble of making things run.

========================================================================
4) interval trees
Archive: 
<https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00056.html>
------------------------------------------------------------------------
** Francois Berenger asked and Richard Jones replied:

> I need to use an interval tree.
>
> Biocaml has one, batteries have imap/iset, nice!
>
> However, I have intervals of reals, not integers. :(
>
> I want to build the tree (once), then query it with a real number
> (many times) like in: which intervals contain the query real number?
>
> Should I convert my floats to ints (by sorting them then ranking) 
> before
> inserting them into some existing interval tree for integers?
> I am not so concerned about the pre-processing time.
>
> Should I write from scratch?

I wrote a segment tree (integers, not floats), which is similar.  It
wasn't very hard.  The code is here if it helps:

<http://git.annexia.org/?p=virt-mem.git;a=blob;f=lib/virt_mem_mmap.ml;hb=HEAD>

** Goswin von Brederlow asked, Eliot Handelman replied and Sebastien 
Ferre added:

> >  Anyone have something like this but for non-overlapping intervals 
> and
> >  allowing interval insertion and removal with merging and spliting 
> of the
> >  internaly used intervals?
> >  >  Cis from Sébastien Ferré?
> >  >  <http://www.irisa.fr/LIS/ferre/software.en.html>

The Cis library (Cis for Compact Integer Sets) is
designed for representing sets of integers, but it
could easily be adapted to the insertion and
removal of intervals since it already handles
the merging and spliting og intervals.

** Edgar Friendly also replied and Philippe Veber said:

> Yes, IMap / ISet (borrowed from camomile and improved) do this.  I 
> assume
> biocaml's is the same.

Actually no, biocaml_intervalTree keeps the inserted intervals 
untouched, it
is in fact pretty similar to an interval multimap, with some specialized
operations. In cases when we want to describe a set of integers (vs a 
set of
intervals), we use ISet from Batteries. With these two structures we can
describe an interesting range of genome annotations.

========================================================================
5) Package installation assumptions made by odb
Archive: 
<https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00077.html>
------------------------------------------------------------------------
** Edgar Friendly said:

odb is a simple ocaml program to install ocaml packages with
dependencies. I've written a document on the assumptions it makes of the
packages it's to install. By sharing this, I hope to influence library 
and
application developers to use a standard interface for compiling their
program.

The details are here: 
<https://github.com/thelema/odb/blob/master/guidelines.md>

Thank you for any feedback. Please bear in mind that odb is meant to be
simple, so the complexity of configuring, building and installing any 
packages
is expected to be in that package's build system, and not odb itself.

========================================================================
6) Interval programming library
Archive: 
<https://sympa-roc.inria.fr/wws/arc/caml-list/2012-02/msg00090.html>
------------------------------------------------------------------------
** Jean-Marc Alliot announced:

This is an interval computation library for ocaml. The download link is 
:
<http://www.alliot.fr/code/interval.tgz>

This library uses assembly code to compute all operations with proper
roundings (high/low), and currently ONLY works on intel processors.
The package has been developped for linux systems but should probably
work on windows distribution with a few tweaks.

Documentation is available in the doc/ directory in html, pdf and dvi
formats. It is extremely wise to read the whole documentation, even if
you intend to only use the interval module.

To build the library just type "make" in the main directory.

Tests are available in the TESTS/ directory. They are mainly for
debugging purpose and quite complicated. You may run them to
check that everything is working properly for your machine.
The test program runs also a speed test program for your
particular architecture.

Examples are available in the EXAMPLES/ directory. There is a
B_AND_B sub-directory with an example of a branch-and-bound algorithm
that uses interval arithmetics for function optimization (the
example is for the Griewank function, but you can substitute
any function you like).

** Jean-Marc Alliot later added:

As requested by Fabrice, this is the link to the web page for the 
library.
<http://www.alliot.fr/fbbdet.html.fr>
There are some more things on this page, such as an introduction to 
interval
programming, and to B&B techniques with interval arithmetic.

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

Rediscovering the RSync Algorithm:
   
<http://blog.incubaid.com/2012/02/14/rediscovering-the-rsync-algorithm/>

gapi-ocaml v0.1 released:
   <https://forge.ocamlcore.org/forum/forum.php?forum_id=823>

Opa presentation at a game development meetup, GameJS:
   
<http://blog.opalang.org/2012/02/opa-presentation-at-game-development.html>

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

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



More information about the caml-news-weekly mailing list