• 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.

virt-v2v: better living through new technology — Richard Jones, Aug 29, 2014

If you ever used the old version of virt-v2v, our software that converts guests to run on KVM, then you probably found it slow, but worse still it was slow and could fail at the end of the conversion (after possibly an hour or more). No one liked that, least of all the developers and support people who had to help people use it.

A V2V conversion is intrinsically going to take a long time, because it always involves copying huge disk images around. These can be gigabytes or even terabytes in si…

Read more...

OCaml 4.02.0 released — Caml INRIA, Aug 29, 2014

Senior Software Engineer (Functional) at McGraw-Hill Education (Full-time) — Functional Jobs, Aug 28, 2014

This Senior Software Engineer position is with the new LearnSmart team at McGraw-Hill Education's new and growing Research & Development center in Boston's Innovation District. We make software that helps college students study smarter, earn better grades, and retain more knowledge.

The LearnSmart adaptive engine powers the products in our LearnSmart Advantage suite — LearnSmart, SmartBook, LearnSmart Achieve, LearnSmart Prep, and LearnSmart Labs. These products provide a personalized le…

Read more...

Full Time: Software Developer (Functional Programming) at Jane Street in New York, NY; London, UK; Hong Kong — Github OCaml jobs, Aug 28, 2014

Software Developer (Functional Programming)

Jane Street is looking to hire great software developers with an interest in functional programming. OCaml, a statically typed functional programming with similarities to Haskell, Scheme, Erlang, F# and SML, is our language of choice. We've got the largest team of OCaml developers in any industrial setting, and probably the world's largest OCaml codebase. We use OCaml for running our entire business, supporting everything from research to systems admi…

Read more...

More OCaml: Algorithms, Methods & Diversions — OCaml Book, Aug 27, 2014

More OCaml: Algorithms, Methods & Diversions is now available on Amazon at $39.99 or less, or as a DRM-free PDF eBook for $14.99 at ocaml-book.com, where you will also find sample chapters, and the exercises and examples to download.

Here's the blurb:

 

In More OCaml John Whitington takes a meandering tour of functional programming with OCaml, introducing various language features and describing some classic algorithms. The book ends with a large worked example dealing with the production of…

Read more...

Weekly News — Caml Weekly News, Aug 26, 2014

  1. OPAM 1.2 public beta
  2. Commercial Users of Functional Programming at ICFP 2014, Gothenburg, Sep 4-6
  3. OCaml 4.02.0+rc1
  4. Feedback wanted about the OCaml windows installer
  5. Gg 0.9.0
  6. Vg 0.8.1
  7. React 1.2.0
  8. Locally abstract type with type parameters
  9. OCaml HTML parsing & manipulation
  10. Core Suite 111.28.00
  11. Other OCaml News

UTop: a much improved interface to the OCaml toplevel — OCaml Platform, Aug 26, 2014

This is a post about the utop toplevel provided in the OPAM repository as an alternative to the standard OCaml one.

OCaml comes with an interactive toplevel. If you type ocaml in a shell you will get a prompt where you can type OCaml code that is compiled and executed on the fly.

$ ocaml
    OCaml version 4.02.0+dev12-2014-07-30

# 1 + 1;;
- : int = 2

You can load libraries and your own modules in the toplevel, and is great for playing with your code. You'll quickly notice that the user experien…

Read more...

Terms With Variables (C++) — Shayne Fletcher, Aug 25, 2014

Terms with Variables (C++)

In this earlier post I showed a nifty OCaml type for modeling terms with variables for problems involving substitutions. I got interested in what it would take to implement the type in C++(03) (doing 'sum' types in C++ elegantly is a perennial problem). It ain't nowhere near as succinct but we got there nonetheless.

#include <list>

#include <boost/variant.hpp>

/*
type ('a, 'b) term =
| Term of 'a * ('a, 'b) term list
| Var of 'b
*/

template <class A, …
Read more...

OCaml EFL 1.11.0 released — OCamlCore Forge News, Aug 25, 2014

Majors changes: - Moved to version 1.11 of the EFL - New API for signals (module Elm_connect) - More parts of the binding are generated

Clearly Failing — Jane Street, Aug 23, 2014

The Parable Of The Perfect Connection

Every programmer in the Intertube connected era eventually has to write, or at least use, an API for a network service - something like a database, a message queue, or web service. And, each and every one of them begins with the enthusiasm of the recently inducted as they realize that they can reach out their hand and control something else. And, each and every one of them experiences that moment of frustration and anger when they realize that their buddy ou…

Read more...