Home>OCaml Planet [En]

OCaml Planet

The OCaml Planet aggregates various blogs from the OCaml community. It is kindly provided by OCamlCore. If you would like to be added, read the Planet subscription HOWTO.


Subscriptions
Merlin — OCamlCore Forge Projects, 01 May 2013Context sensitive completion and interactive error-reporting for Ocaml in Vim and Emacs. Patch review vs diff review, revisited — Jane Street, 03 May 2013

I've been thinking about code review a lot recently.

Code review is a key part of our dev process, and has been from the beginning. From our perspective, code is more than a way of getting things done, it's a way of expressing your intent. Code that's easy to read and understand is likely to be more robust, more flexible, and critically, safer. And we care about safety a lot, for obvious reasons.

But the importance of code review doesn't mean that we've always done a good job of organizing it. I'll talk a bit more about how we used to do code review, how we do it now, and the impact that those changes have had.

The bad old world

Read more...
A new Coq tactic for inversion — GaGallium, 04 May 2013

With Pierre Boutillier, we have been working on a new Coq tactic lately, called invert. From my point of view, it started as a quest to build a replacement to the inversion tactic. inversion is a pain to use, as it generates sub-goals with many (dependent) equalities that must be substituted, which force the use of subst, which in turns also has its quirks, making the mantra inversion H; clear H; subst quite fragile. Furthermore, inversion has efficiency problems, being quite slow and generating big proof terms. From Pierre's point of view, this work was a good way to implement a better destruct tactic, based on what he did during an internship (report in French (PDF)).

Read more...
malloc() is the new gensym() — Matthias Puech, 04 May 2013 Caml Weekly News, 14 May 2013 — Caml Weekly News, 14 May 2013extlib 1.5.4 / standard 3d vector library in OCaml / Linux epoll bindings / an issue with coercing private types / Interfacing with QtQuick 2.0 from Qt5, RFC / String, Array, Bigarray.char / smarter #load directive / New OCaml-Paris meetup on May 21, 19h30, IRILL / oasis help: support for qtest in oasis / Other Caml News Zarith 1.2 released — OCamlCore Forge News, 20 May 2013
Zarith is a fast, space-efficient, GMP-based library for arbitrary-precision integer and rational arithmetic. This minor release fixes a couple of bugs, improves Windows/Mingw support, and adds a fast path coded in assembly for ARM processors.
The road to a developer preview at OSCON 2013 — Open Mirage 〈anil(at)recoil.org (Anil Madhavapeddy)〉, 20 May 2013

There's been a crazy stream of activity since the start of the year, but the most important news is that we have a release target for an integrated developer preview of the Mirage stack: a talk at O'Reilly OSCon in July! Do turn up there and find Dave Scott and Anil Madhavapeddy showing off interactive demonstrations.

Meanwhile, another significant announcement has been that Xen is joining the Linux Foundation as a collaborative project. This is great news for Mirage: as a library operating system, we can operate just as easily under other hypervisors, and even on bare-metal devices such as the Raspberry Pi. We're very much looking forward to getting the Xen-based developer release done, and interacting with the wider Linux community (and FreeBSD, for that matter, thanks to Gabor Pali's kFreeBSD backend).

Here's some other significant news from the past few months:

Read more...
Caml Weekly News, 21 May 2013 — Caml Weekly News, 21 May 2013ocaml-bitstring 2.0.4 / standard 3d vector library in OCaml / concurrent caml-light? / 2D vector graphics / Core Suite 109.23.00 + async_parallel / Other Caml News Flowing faster: External memory — Jamie Brandon, 21 May 2013

I always want to be a better developer than I am. What work I do that is worthwhile happens in the few hours of flow I manage to achieve every week. A million different things break that flow every day. I suspect that a large part of achieving flow is keeping the current problem in working memory. To improve my chances I can improve my working memory, offload parts of the problem to the computer or prevent context switches. I’m on my own with the first option, but a better development environment can help with the latter two.

The first thing that I want to fix in this series is offloading memory. There are basically two kinds of questions I regularly deal with:

  • How did I solve this problem / build this software / configure this program X months ago?

  • What was I trying to remember to change X seconds ago?

Read more...
OCaml-RDF 0.5 — OCamlCore Forge News, 22 May 2013
Now include a Turtle parser and writer.