
Jane Street
2 HN recommenders · recommended in 3 months, 2018–2021
1:09:24 · 30K views · Apr 5, 2016
Yaron Minsky of Jane Street gave this talk to Harvard's OCaml-based CS51 class in 2010. It collects advice on being an effective ML programmer in an industrial setting.
It is the go-to source for the idea of making illegal states unrepresentable through types, with the key moment at 28:02.
3 comments from Hacker News
That'll be a great addition to the book. Can I also recommend Yaron Minsky's talk on OCaml, specifically the part where he talks about "making invalid states impossible": this video I've found this to be the single most valuable programming technique I've learnt. Richard Feldman dives deeper into the topic with a lot more examples in [LINK]
I guess the closest thing to what you want in Ocaml is modular implicits. [LINK] As far as the tradeoff, my view on types is a bit different than yours, I think. First, a quick note: > specify manually all the types of all the functions This is usually encouraged in OCaml, in the form of a .mli file. I think types can be a lot more than "compiler checked documentation that can also work as basic tests". They allow you to encode invariants that allow the compiler to check more than basic stuff. I thought this video had a good example. this video
"Make illegal states unrepresentable" is usually attributed to Yaron Minsky of Jane Street. This video shows it at 28:02. [LINK] this video