Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Independent

The OCaml system

via Independent

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the comprehensive OCaml system through this in-depth tutorial. Dive into the core language, module system, and object-oriented features of OCaml. Learn about advanced topics such as polymorphic variants, generalized algebraic datatypes, and parallel programming. Master essential OCaml tools including the compiler, toplevel system, runtime system, and native-code compilation. Discover how to use lexer and parser generators, the debugger, and profiling tools. Gain expertise in interfacing C with OCaml, optimizing with Flambda, and fuzzing with afl-fuzz. Explore the OCaml library, including the core and standard libraries, compiler front-end, and various specialized libraries for Unix system calls, regular expressions, and dynamic linking. Conclude with comprehensive indexes for quick reference to modules, types, exceptions, values, and keywords.

Syllabus

I. An introduction to OCaml

 

  • 1. The core language
  • 2. The module system
  • 3. Objects in OCaml
  • 4. Labeled arguments
  • 5. Polymorphic variants
  • 6. Polymorphism and its limitations
  • 7. Generalized algebraic datatypes
  • 8. Advanced examples with classes and modules
  • 9. Parallel programming
  • 10. Memory model: The hard bits
II. The OCaml language

 

  • 11. The OCaml language
  • 12. Language extensions
III. The OCaml tools

 

  • 13. Batch compilation (ocamlc)
  • 14. The toplevel system or REPL (ocaml)
  • 15. The runtime system (ocamlrun)
  • 16. Native-code compilation (ocamlopt)
  • 17. Lexer and parser generators (ocamllex, ocamlyacc)
  • 18. Dependency generator (ocamldep)
  • 19. The documentation generator (ocamldoc)
  • 20. The debugger (ocamldebug)
  • 21. Profiling (ocamlprof)
  • 22. Interfacing C with OCaml
  • 23. Optimisation with Flambda
  • 24. Fuzzing with afl-fuzz
  • 25. Runtime tracing with runtime events
  • 26. The “Tail Modulo Constructor” program transformation
IV. The OCaml library

 

  • 27. The core library
  • 28. The standard library
  • 29. The compiler front-end
  • 30. The unix library: Unix system calls
  • 31. The str library: regular expressions and string processing
  • 32. The runtime_events library
  • 33. The threads library
  • 34. The dynlink library: dynamic loading and linking of object files
  • 35. Recently removed or moved libraries (Graphics, Bigarray, Num, LablTk)
V. Indexes

 

 

  • Index of keywords

Taught by

Xavier Leroy, Damien Doligez, Alain Frisch, Jacques Garrigue, Didier Rémy and Jérôme Vouillon

Reviews

Start your review of The OCaml system

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.