Practical OCaml - Smith, Joshua B.; SpringerLink (Online service) (Berkeley, CA : Apress : Imprint: Apress, 2007)
Why Objective Caml (OCaml)? -- Interacting with OCaml: The Toplevel -- Syntax and Semantics -- Understanding Functions -- Practical: Creating a Simple Database -- Primitive and Composite Types -- Practical: Simple Database Reports, Exports, and Imports -- Collections -- Files and File I/O -- Exception Handling -- Practical: A URI Library -- Using Ocamldoc -- Modules and Functors -- Practical: A Spam Filter -- Practical: A Network-Aware Scoring Function -- Ocamllex and Ocamlyacc -- Practical: Complex Log File Parsing -- The Objective Part of Caml -- Digression: OCaml Is Not Pure -- Digression: Functional Programming -- Practical: Web Programming -- Practical: A Shoutcast Server -- Using Threads -- Practical: A Concurrent Web Crawler -- Interfacing with OCaml -- Practical: Time and Logging Libraries -- Processing Binary Files -- OCaml Development Tools -- Camlp4 -- Conclusion.
Keywords: Open source software; Computer programming; Software engineering; Open Source; Software Engineering/Programming and Operating Systems