OCaml

A curated learning path for functional systems programming in OCaml. The graph below maps out the key tutorials and their prerequisites — click any node to open the tutorial.

flowchart TD subgraph FOUND["Foundations"] A["Learn OCaml Workshop\n(FP Launchpad · 2026)"] I["CS3100 — Paradigms of\nProgramming\n(IITM Monsoon 2025)"] end subgraph SC["Single-Core Concurrency\n(how to structure overlapping tasks)"] B["Effects Tutorial\nConcurrent programming\nwith effect handlers"] D["Effects Examples\nCompanion code reference"] end subgraph IO["Concurrency + I/O"] E["Eio / Lwt Tutorial\nEffects-based async I/O\nin OCaml 5"] end subgraph MC["Multi-Core Parallelism\n(how to exploit multiple cores)"] C["Parallel Programming\nin Multicore OCaml\n(Domains & domainslib)"] F["OCaml 5 Tutorial\nHands-on with domains\n& parallelism features"] end subgraph ADV["Multi-Core + Concurrency\n(the hard intersection)"] G["Parallelism Without Panic\nSafe patterns across cores\n(BobKonf 2026)"] J["CS6868 — Concurrent\nProgramming\n(IITM Spring 2026)"] end subgraph RES["Language-Level Safety\n(the research frontier)"] H["OxCaml Tutorial\nModes & uniqueness —\ntype system prevents data races\n(ICFP 2025)"] end A --> B A --> C A --> J I --> B I --> C I --> J B --> D B --> E C --> F E --> G F --> G G --> H J --> H click A href "https://github.com/fplaunchpad/learn-ocaml-workshop-2026" _blank click I href "https://kcsrk.info/cs3100_m25/" _blank click B href "https://github.com/ocaml-multicore/ocaml-effects-tutorial" _blank click D href "https://github.com/ocaml-multicore/effects-examples" _blank click E href "https://github.com/ocaml-multicore/icfp-2023-eio-tutorial" _blank click C href "https://github.com/ocaml-multicore/parallel-programming-in-multicore-ocaml" _blank click F href "https://github.com/ocaml-multicore/ocaml5-tutorial" _blank click G href "https://bobkonf.de/2026/morel.html" _blank click J href "https://github.com/kayceesrk/cs6868_s26/" _blank click H href "https://github.com/oxcaml/tutorial-icfp25" _blank classDef external fill:#fff8e1,stroke:#f0a500,color:#111 class C,E,G,H external

Click any node to open the tutorial. Arrows indicate prerequisites. highlighted nodes are external resources not created by FP Launchpad.

Lean