Practical OCaml [electronic resource] /
Smith, Joshua B.author.
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.
Includes index.
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.
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.
OCaml
Open source software.
Computer programming.
Software engineering.
Open Source.
Software Engineering/Programming and Operating Systems.