Incremental computation and the web
I’ve recently been thinking about the world of JavaScript and web applications. That’s odd for me, since I know almost nothing about the web. Indeed,...
I’ve recently been thinking about the world of JavaScript and web applications. That’s odd for me, since I know almost nothing about the web. Indeed,...
Testing is important, and it’s hard to get people to do as much of it as they should. Testing tools matter because the smoother the...
Automated testing is a powerful tool for finding bugs and specifying correctness properties of code. Haskell’s Quickcheck library is the most well-known automated testing library,...
I’m not sure how I’ve managed to use rsync for so many years without ever noticing this, but hey, you learn something new every day!...
Jane Street is a serious functional programming shop. We use OCaml, a statically typed functional language for almost everything and have what is probably the...
I’m pleased to announce the release of Incremental (well commented mli here), a powerful library for building self-adjusting computations, i.e., computations that can be updated...
As with many projects in the OCaml world, at Jane Street we have been working on migrating from camlp4 to ppx. After having developed equivalent...
Even though registers are a low-level CPU concept, having some knowledge about them can help write faster code. Simply put, a CPU register is a...
In the spirit of reinventing the wheel for fun, I hacked this together as a quick challenge to myself last week. It’s a little rough...
We’ve been doing a bunch of work recently on improving the responsiveness of OCaml’s garbage collector. I thought it would be worth discussing these developments...
The official OCaml documentation “Interfacing C with OCaml” doesn’t document some interesting performance features.
When GADTs (Generalized Algebraic Data Types) landed in OCaml, I wasn’t particularly happy about it. I assumed that it was the kind of nonsense you...
We recently released a version of our open source libraries with a much anticipated change – Async_kernel, the heart of the Async concurrent programming library,...
7 years ago, I wrote a blog post about how we at Jane Street were using our distributed version control system (hg, though the story...
We spend a lot of time and effort on training new people, and it never stops for long. Right now our winter-intern class is ending;...
Very early on in his life, while on lengthy voyage from London to Philadelphia, Ben Franklin created a system of thirteen virtues to live his...
Sometimes its useful to be able see the values of environment variables in running processes. We can use the following test program to see how...