Extension Points, or how OCaml is becoming more like Lisp
(OCaml 4.02 is entering a feature freeze, which makes it a good time to stop and take a look at what to expect for this...
(OCaml 4.02 is entering a feature freeze, which makes it a good time to stop and take a look at what to expect for this...
There are a bunch of different ways of handling errors in OCaml. If you’ve just started learning about functional programming, you’ll no doubt have come...
It’s been a busy couple of weeks for Internet security! Almost unnoticed amongst the ‘Heartbleed’ fallout was a post on Guy Aharonovsky’s blog detailing how...
Introduction
Haskell has a function fmap which can map over a number of different datatypes. For example, fmap can map a function over both a List...
As anyone who has looked into functional reactive programming (FRP) knows, there are lots of competing approaches to it, and not a lot of conceptual...
Background
A few words about what we’re striving for in our comments, particularly in Core. Every shop has their own commenting style, so I worry that...
I usually think of two module types S1 and S2 as being equivalent if the following two functors type check:
This is my favorite tweet about Real World OCaml.
Now that Real World OCaml is out, I thought it would be fun to have a series of posts highlighting different interesting corners of the...
What happens when the latest CentOS 6.4/RHEL/FreeBSD GnuTLS certtool gets used to generate a TLS certificate with a 18250-day validity period? Time travel back in...
I’ve been thinking about code review a lot recently.
The below post is mostly lifted from an email I sent to the Core mailing list. It explains the type hackery we employ in order...
On Friday morning I discovered a Raspberry Pi on my desk. The Raspberry Pi is a small single-board computer powered by a 700MHz ARM CPU....
Jane Street is deeply invested in OCaml and in the larger OCaml community, which we depend on both for the new recruits it provides as...