Caml
Power
Power
Notes on Ron Minksy's Caml Trading talk
Andrew Appel, October 2024
Watch this video armed with the following notes.YouTube dates the video in 2012, but I'm pretty sure the video is from 2009.
- 0:00
- The speaker for the first minute is Peter Lee, who back in the 1990s was a professor at Carnegie Mellon working in the same research area as Andrew Appel (ML compilers, programming-language semantics), but since 2013 has been the President of Microsoft Research.
- 16:42
- "we have about 190 employees" Well, that was then. Now they have 2000 or 3000 employees, many of whom got their bachelors' degrees at Princeton.
- 17:52
- "There is no faster way to light yourself on fire" This is a key point of the entire talk.
- 18:40
- I imagine that in 2024 the numbers he's giving would be MUCH bigger.
- 20:24
- When you get here, you could skip to 23:00 if you want to: "the ability to efficiently update your code"
- 23:28
- Here you could skip to 25:29, "why OCaml is a good match for these requirements"
- 25:40
- This is a key point: the importance of _reading_ software
- 27:40
- "brevity and types"
- 29:30
- Fill in the blank: "you can't pay people enough to _____ . . . (we tried)"
- 30:20
- "and I don't mean correctness in some high-falutin', following some carefully written out..." And here the joke is on you, students in COS 326, where we do write proofs in that high-falutin' way.
- 31:10
- Key point: "why is OCaml so much more effective for generating correct code than Java ..."
- 37:00
- The title of this slide is ambiguous. Dr. Minsky is using it to stand for "Algebraic Data Type". But more often in computer science we use ADT to stand for "Abstract Data Type". These are not the same thing! OCaml supports both of them, as you know by now.
- 37:52
- See also what I told you on Slides 62-64 of the Datatypes lecture. And note that Ron Minsky said it first, back in 2009; the slides just distill for you what he pointed out.
- 40:00
- "You have to view the type system as a tool" is a major theme throughout COS 326, as you may have noticed.
- 45:00
- "Concurrency" On this point, OCaml 5 (released circa 2022) has been a major advance.
- 45:59
- "External libraries" To see what's happened in this regard since 2009, look here
- 46:28
- "support for programming in the large". Fifteen years later, we use the dune build system (from Jane Street) and the OCaml Package Manager (opam) (from France, development funded by Jane Street).
- 47:30
- "libraries ... are not the kind of things that academics get excited about." I beg to differ: See this conference talk (and here's the published paper).
- 48:00
- you can skip to 49:00
- 49:38
- The lecture ends, and you don't need to stick around for the Q&A.