Synopses & Reviews
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.
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.
Objective Caml (OCaml) is an open sourced programming language that allows a programmer to utilize both functional and object oriented programming. A very fast and efficient language, oCaml's speed is on par with the likes of C/C++. The compiler is available for a variety of platforms, including Windows, Unix, Linux, and Apple. OCaml can be found in a variety of scientific applications and well as a teaching language in universities.
Practical OCaml teaches Objective Caml in a straightforward and practical manner. All the features of this functional programming language are taught by example. You will learn how to utilize the OCaml language to create a simple database, do reporting, and create a spam filter. You will also learn how to do complex log file scanning, create your own network servers by creating a shoutcast server, and create a web crawler. By this book's conclusion, you will be well on your way to creating your own applications with OCaml, as well as knowing when and why OCaml should be used.
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.
Table of Contents
Introduction: Why Ocaml.- Interacting with Ocaml: the toplevel.- Syntax and Semantics.- Functions: with or without Curry.- Practical: A Simple Database.- Primitive and Composite types.- Practical: Simple Database Reports and imports.- Collections.- Files and File I/O.- Exception Handling.- Practical: a URI parsing library.- Ocamldoc.- Modules and Functors.- Practical: A Spam Filter.- Practical: A Network Aware Scoring Function.- Ocamllex and Ocamlyacc.- Practical: Log file scanner using Ocamllex and Ocamlyacc.- Generic Functions.- The Objective part of Ocaml.- Digression: How Ocaml is impure.- Digression: Functional Programming as a lifestyle choice.- Practical: Web programming with mod_caml.- Practical: A Shoutcast Server.- Threading and Concurrency.- Practical: A Concurrent Web Crawler.- FFI: Camlidl and interfacing with C.- Practical: strftime and difftime.- Practical: Parsing Binary Files.- Makefiles, findlib, and Ocaml Development.- Camlp4.- Conclusion.