Effective ML

Jane Street2 HN recommenders · 2018–2021
30K views · lecture · evergreen · Uploaded 2016-04-05

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.

Watch on YouTube

3 comments from Hacker News

@chillee2018 · in “What Made Lisp Different (2002)”

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. [VIDEO]

RecommendsView on HN
@jasim2018 · in “Book Review: A Philosophy of Software Design”

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": [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]

Strongly recommendsView on HN
@marshray2021 · in “Why Co–Star Uses Haskell”

"Make illegal states unrepresentable" is usually attributed to Yaron Minsky of Jane Street. This video shows it at 28:02. [LINK] [VIDEO]