Hello
Here is the latest OCaml Weekly News, for the week of May 06 to 13, 2014.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2014-05/msg00058.html
Yoriyuki Yamagata announced:I am pleased to announce the release of ucorelib, a new Unicode library for OCaml. ucorelib provides Unicode character type, Unicode text type (internally ropes), and decoder/encoder of UTF-8, UTF-16, UTF-32. Main page: https://github.com/yoriyuki/ucorelib Release page: https://github.com/yoriyuki/ucorelib/releases/tag/v0.1.0 ucorelib provides 1. An abstract data type for Unicode character. This prevents you to create illegal Unicode characters, so it is safer than just using integers of Unicode characters. 2. An abstract text data type, internally implemented as ropes. All interface to Text module are purely functional. 3. Code converter from/to UTF-8, UTF-16, UTF-32 By the way, I am looking for someone who can collaborate with me. Specifically, I am looking for 1. OCaml build system guru 2. OCaml syntax extension guru, to propose a syntax extension for Unicode. 3. XML guru, to make a parser for LDML, Locale Data Markup Language.Peter Zotov then asked and Yoriyuki Yamagata replied:
> Any properties of your library notwithstanding, what are the reasons for > development of yet another OCaml unicode library? There are: > > * Uutf+Uucd > * Camomile > * ocaml-text > * ucslib[1] > > I can believe that there are good reasons for doing so, I'm just curious > what they are. > > [1]: https://github.com/pippijn/ucslib ucorelib will (hopefully) be a succeser of Camomile. Camomile has many functionalities which are not always necessary. ucorelib has only basic functionalities and advanced features will be provided in separate libraries. For other libraries, my complaint is that they expose internal representations of Unicode characters and texts. This is convinient for now, but unsafe and not conceptually clean.Daniel Bünzli also replied:
> * Uutf+Uucd Note, Uucd won't bring you efficient access to character properties, it just parses the Unicode XML character database [1] and presents its data to you as OCaml datatypes. I do have something in preparation for exposing efficient access to a selection of properties but it's not ready at the moment. Best, Daniel [1] http://www.unicode.org/reports/tr42/malc also replied to the original question:
Not a guru by any stretch but i do have a translation of Tor Anderssons' XML parser into OCaml, if nothing else it's small and can be easily embedded into any any code base, main/only benefit is that is small (it lacks everything else). http://repo.or.cz/w/llpp.git/blob/HEAD:/parser.mlAndrew Herron said and Daniel Bünzli replied:
> It’s a bit old but I found xml-light to be a nice dead simple parser. > It and some others are listed on the somewhat out of date camp hump page: > http://caml.inria.fr/cgi-bin/hump.en.cgi?sort=0&browse=49 I highly suggest *not* to use xml-light if you don't have control over the xml you input. It's not standard compliant by any means and the day you get a file that cannot be parsed you (or the users of your tools) won't be happy. AFAIK pxp or xmlm are the only pure OCaml standard compliant alternatives that exist.Daniel Bünzli later added:
Note however that xmlm may not be the easiest interface to work with, it was designed so that if you need to efficiently extract data from that fundamentally inefficient format, you get a chance to, in bounded memory. It has always been my hope that someone else would devise higher-level xquery like combinators on top of it, but that never really materialized. That is until recently, it seems there is now ezxmlm [1] that tries to fill that void (never used it, but it's an opam install away). Best, Daniel [1] https://github.com/avsm/ezxmlm
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2014-05/msg00068.html
Francois Berenger announced:I am very pleased to announce the first official release of ACPC. ACPC is an open source tool for ligand-based virtual screening (a chemoinformatics task), using autocorrelation of partial charges. It is, of course, available in OPAM: $ opam install acpc On the OCaml side of things, ACPC uses - batteries as its standard library - parmap for parallelization (in case several queries are run against the same "database" of molecules) - dolog (a lazy logger) - obuild for compilation (cf. https://github.com/UnixJunkie/ACPC/blob/master/acpc.obuild for the neat build description obuild allows) A very short documentation with some usage examples is available here: https://github.com/UnixJunkie/ACPC/blob/master/README.md The scientific article is freely available here: http://www.jcheminf.com/content/6/1/23/abstract The source code is here: https://github.com/UnixJunkie/ACPC The dataset used to validate the software is here: http://www.riken.jp/zhangiru/software/DUD_ACPC_1.0_validation.tar.xz The funny logo was kindly created by my colleague, Dr. Arnout Voet.
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/. 2014 CUFP Call for Tutorials: http://cufp.org/news/2014/2014-cufp-call-tutorials-0 Better namespaces through module aliases: https://blogs.janestreet.com/better-namespaces-through-module-aliases/ Coq 8.4pl4 is out: http://coq.inria.fr/coq-84pl4-is-out OCaml 4.01.0 bug fix build online: http://wodi.forge.ocamlcore.org/2014/05/10/bugfix-release.html New Cambridgian summer: http://erratique.ch/software/react Extension Points, or how OCaml is becoming more like Lisp: https://blogs.janestreet.com/extension-points-or-how-ocaml-is-becoming-more-like-lisp/ Welcome to the summer Mirage hackers: http://openmirage.org/blog/welcome-to-our-summer-hackers Seemingly impossible proofs: http://math.andrej.com/2014/05/08/seemingly-impossible-proofs/
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.