OCaml basics
- Surprising syntax - when do I need the "in" after a "let"?
- Rare syntax - what on Earth is
-> .
- Grammar exploration
- Distinctiveness - what's actually different about OCaml?
- Pretty printing & Format & fmt
- Format strings & varargs
Tooling
- Editor setup & utop setup
- Cross-compile with Zig or, still more easily: Alpine Linux
- Compilation results - parsed ASTs, C-- IC, etc.
- Standalone binaries
- Alcotest
Examples
- Garbage collection
- Logic Programming examples using multishot continuations and amb. More on amb: Scheme, ML.
- Fibonacci spinner - Thread, Domain, &c
- Custom allocators
- Objects
Esoterics
- Dependent typing in OCaml with GADT-encoded Peano numbers
Design
- Advocacy
- Gripes and SML gripes and F# Gripes
- Objects
- Manual optimizations
- bench/last of 100 million
- Style
Links
- Optimizing OCaml Performance and OOP costs
- extensible variant implementation
- Introduction to OCaml extension points
- Sherlocode - searching across OCaml code in opam
- Effect languages: koka, effekt
- Oleg Kiselyov's OCaml page
- News:
- ocamlpro blog #onboarding
- Fun stuff:
- MisterDA/ocamlwalk - play an animation and jingle before ocamlrun
-> .
- MisterDA/ocamlwalk - play an animation and jingle before ocamlrun