Lessons
OCaml · Expert
OCaml · Expert. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
GADTs
Generalized algebraic data types, typed expression evaluators, and type refinement.

Lesson 2
Effect handlers
Declaring effects, perform, Effect.Deep handlers, and resuming continuations.

Lesson 3
Domains and parallelism
Domain.spawn, Domain.join, Atomic, and avoiding data races.

Lesson 4
Phantom types
Type parameters that exist only at compile time to track states and permissions.

Lesson 5
Extensible variants and open types
type t += constructors, plugin-style extension, and how exceptions use it.

Lesson 6
Memory representation and the GC
Immediate ints, boxed values, the minor and major heaps, and unboxed float arrays.

Lesson 7
Locally abstract types and polymorphic recursion
(type a), explicit polymorphic annotations, and nested data types.

Lesson 8
Objects and row polymorphism
Immediate objects, structural method types, open rows with .., and classes.

Lesson 9
ppx metaprogramming
Attributes and extension nodes, ppx_deriving, and writing a ppxlib rewriter.

Lesson 10
Direct-style concurrency with Eio
Fibers, switches, structured concurrency, and Eio vs Lwt.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.