Dropping history with Mercurial
One feature we’ve wanted from hg for a while is the ability to drop history. It’s a natural thing to want, after all; with any...
One feature we’ve wanted from hg for a while is the ability to drop history. It’s a natural thing to want, after all; with any...
One recent arrival in Core is with_return, a function that lets you return early from a computation. Here’s a trivial example:
People (myself included) like to say that OCaml isn’t really an optimizing compiler, that it has a pretty straight-ahead compilation strategy, and for the most...
Fabrice Le Fessant has just set up a new company, OCamlPro, whose goal is to provide commercial support for OCaml, and to make it a...
Here are the videos to go with the guest lecture I just gave at Harvard. It’s not too different from the one that I gave...
The newest release of Jane Street’s core standard library is now out! It’s been a while, and a lot of small things have changed in...
CUFP (Commercial Users of Functional Programming) is a yearly workshop (associated with ICFP) where functional programmers come together to share ideas, and this year the...
Harvard is again teaching OCaml to its first-year students, and Greg Morrissett again this year invited me to give a guest lecture. I gave a...
Stephen taught me a neat trick a while back. Suppose you want to define a some mutually recursive types
I’m on the program committee for CUFP this year, so I’m a bit biased, but I feel very good about this year’s program. For the...
A while back I mentioned that I’d given a guest lecture at classes at Harvard and Northeastern, and that the Harvard class had been taped....
GADTs allow one to statically enforce stronger program invariants than are otherwise possible in a Hindley-Milner style type system. This post retells the story of...
There is a common perception that you should choose your type system based on the scale of your project. If you’re writing a little program...
The beta version of Ocaml 3.12 has a couple of new features that relate to a post Stephen wrote a while back on how to...
Null is a pervasive concept in computing. Virtually all programming languages have a way of expressing nothing, nullity, no answer. But handling nulls correctly turns...
Early in ‘09, I put up a post asking Private type abbreviations, what are they good for?. I got a lot of good answers to...
A couple of weeks ago I visited Northeastern and Harvard where I gave guest lectures on the subject of programming effectively in ML. In both...
CUFP is a yearly workshop for commercial users of functional programming. CUFP is aimed not just at industrial uses, but really at any uses of...