Converting a code base from camlp4 to ppx
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...
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...
If you were teaching a programming course, what language would you teach it in?
Software Engineering Interviews at Jane Street
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...
Almost every programming language uses 64-bit integers on typical modern Intel machines. OCaml uses a special 63-bit representation. How does it affect OCaml?
The Parable Of The Perfect Connection
I’m a little biased, by being on the steering committee, but this year’s ML workshop looks really interesting. Here’s a link to the program:
Often when writing a new module, I want to write the interface first and save the implementation for later. This lets me use the module...