Objective Caml (OCaml) is an open source programming language that allows you to utilize both functional and object-oriented programming. Sporting features such as a robust object system, type safety, and an expansive standard library, OCaml is a language that encourages pragmatic solutions instead of dogmatic ones. Boasting performance on par with the likes of C/C++, and having compilers available for a variety of platforms, including Windows, Unix, Linux, and Mac OS X, enterprise developers should consider adding this powerful language to their repertoire.
Written for experienced programmers, Practical OCaml teaches OCaml in a code-intensive fashion. Readers are encouraged to follow along with most examples using the OCaml top-level (the interactive interpreter), giving them the opportunity to consider the purpose and syntax of each line. The author's considerable knowledge of the Java, Python, and C++ languages allows him to present the material at a level and perspective that readers hailing from varied programming backgrounds will appreciate.
Language aficionados will be sure to enjoy the occasional digression into tangential topics such as OCaml's impurities from the functional programming perspective, with thoughts about how to overcome them using mutability, references, and classes.
Key topics include
- Primitive and composite types
- File and I/O
- Modules and functors
- Ocamllex and Ocamlyacc
- The Camlp4 preprocessor and pretty printer
In later chapters, you'll put what you've learned to work, building applications capable of performing complex log-file processing, crawling the Web, filtering spam, and even broadcasting audio over a network using the Shoutcast protocol.