• en

OCaml Planet

The OCaml Planet aggregates various blogs from the OCaml community. If you would like to be added, read the Planet syndication HOWTO.

Recent reboots explained: the forge has been compromised — OCamlCore Forge News, Oct 23, 2014

Earlier today, I was connected while the Forge was under heavy load. This has often been the case before most of the recent reboot. This time I was able to identify the process causing the problem and stop it early. Unfortunately, an intruder was able to exploit shellshock through gitweb.cgi. This means that the attacker was able to run a process on the server as www-data for a few hours. I have studied the script used and it is a IRC server in Perl. I think the main goal of the server was to…Read more...

OPAM 1.2.0 Released — OCaml Platform, Oct 23, 2014

We are very proud to announce the availability of OPAM 1.2.0.

Upgrade from 1.1

Simply follow the usual instructions, using your preferred method (package from your distribution, binary, source, etc.) as documented on the homepage.

NOTE: There are small changes to the internal repository format (~/.opam). It will be transparently updated on first run, but in case you might want to go back and have anything precious there, you're advised to back it up.


Lot of work has been put into prov…


Release of OASIS 0.4.5 — Sylvain Le Gall, Oct 22, 2014

On behalf of Jacques-Pascal Deplaix

I am happy to announce the release of OASIS v0.4.5.

Logo OASIS small

OASIS is a tool to help OCaml developers to integrate configure, build and install systems in their projects. It should help to create standard entry points in the source code build system, allowing external tools to analyse projects easily.

This tool is freely inspired by Cabal which is the same kind of tool for Haskell.

You can find the new release here and the changelog here. More information ab…


Weekly News — Caml Weekly News, Oct 21, 2014

  1. OCaml 4.02.1
  2. uproplib
  3. findlib-1.5.4
  4. Beginner OCaml Books
  5. Jane Street is hiring interns
  6. Dimensional Analysis question
  7. opam-android, a modern Android cross-toolchain
  8. exn-source - exception backtraces with source code printing
  9. utop 1.16
  10. slacko 0.10.0
  11. First class modules sub-typing
  12. Release 0.8.0 of Zenon
  13. Other OCaml News

Tail-recursion — Shayne Fletcher, Oct 19, 2014


Stack overflow refers to a condition in the execution of a computer program whereby the stack pointer exceeds the address space allocated for the stack. The usual result of "blowing the stack" is swift and brutal abnormal termination of the program.

The amount of memory allocated by the operating system for a given program's stack is finite and generally little can be done by the programmer to influence the amount that will be made available. The best the programmer can really do i…


Haskell : A neat trick for GHCi — Erik de Castro Lopo, Oct 17, 2014

Just found a really nice little hack that makes working in the GHC interactive REPL a little easier and more convenient. First of all, I added the following line to my ~/.ghci file.


All that line does is define a GHC_INTERACTIVE pre-processor symbol.

Then in a file that I want to load into the REPL, I need to add this to the top of the file:

  {-# LANGUAGE CPP #-}

and then in the file I can do things like:

  import Data.Aeson.E…

OCaml 4.02.1 released — WODI, Oct 16, 2014

Windows binary builds for OCaml 4.02.1 are now available. Download links for the 32-bit and 64-bit build can be found in the download section.

You can upgrade from an existing installation of OCaml 4.02.0 with


or from source code with:

godi_perform -rebuild -newer

The OCaml 4.02.0 builds are not longer maintained. If you still want to continue to use the binary builds for this OCaml version (or revert back to it), you have to change the repository address at /opt/wo…


What the interns have wrought: RPC_parallel and Core_profiler — Jane Street, Oct 16, 2014

We're in the midst of intern hiring season, and so we get a lot of questions about what it's like to be an intern at Jane Street. One of the things people most want to know is what kind of projects they might work on as an intern.

That's of course hard to answer precisely, since we don't yet know what next summer's intern projects are going to be. But you can get a sense by seeing some of what interns have done in the past. To that end, I thought I'd describe a couple of intern projects that wer…


TEDx “Zeroes” — Andrej Bauer, Oct 16, 2014

I spoke at TEDx University of Ljubljana. The topic was how programming influences various aspects of life. I showed the audence how a bit of simple programming can reveal the beauty of mathematics. Taking John Baez’s The Bauty of Roots as an inspiration, I drew a very large image (20000 by 17500 pixels) of all roots of all polynomials of degree at most 26 whose coefficients are $-1$ or $1$. That’s 268.435.452 polynomials and 6.979.321.752 roots. It is two degrees more than Sam Derbyshir…


OCaml Forge maintenance — OCamlCore Forge News, Oct 15, 2014

Recently the OCaml forge has required a lot of hardware reboots. The server is probably near end of life and I need to upgrade the whole infrastructure to a recent server. Rackspace Cloud, as part of their developer support program, is kindly providing a new host for the forge. You may encounter a few more problems in the coming weeks, due to this migration. Ping me if anything is utterly wrong (sylvain ... le-gall.net).