Ppx_let vs. binding operators

I don’t know that there’s a universal answer here.

At Jane Street, we make use of ppx_let and don’t use OCaml’s new built-in binding operators. This is in part because we have several extensions that aren’t supported by the built-in operators yet (e.g., match%bind), and in part because there are some future improvements to our monadic libraries that we’re contemplating that would move them yet further away from what the built-in language support can do (e.g., having binding operators take location information to make it possible for various monadic and applicative libraries like Async, Incremental, and Bonsai to provide better error reporting and debugging tools).

It’s a little unclear how this will shake out longer term, but for now, ppx_let is very much what we use.

y

3 Likes