Really nice work! I’m definitely gonna look into these posts next weekend. Also thanks for not focusing on repl.
Does OCaml have what kind of package manager/ how do you manage development dependencies?
Opam is OCaml’s package manager. You can “switch” to different OCaml versions, install packages under each version.
The project dependencies are managed using Dune build system.
Worth reading for the “A bit of history” section alone.
That section still needs work. For example, I’m still not sure if Andrew Wright’s Simple Imperative Polymorphism was the impetus for implementing mutable references in MLs, or earlier MLs dealt with their type safety in some different ways. It also needs references to those papers in question. Any contributions to it are greatly appreciated!
There is an case of let () = print_endline hi should be let () = print_endline hello
let () = print_endline hi
let () = print_endline hello
It always makes me happy when someone finds a mistake — it means they have read that stuff carefully. :)