- STAFF PICKS
- GIFTS + GIFT CARDS
- SELL BOOKS
- FIND A STORE
More copies of this ISBN
Real World Ocaml: Functional Programming for the Massesby Yaron Minsky
Synopses & Reviews
This fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for expressiveness, safety, and speed. Through the books many examples, youll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code.
Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the books third section, youll delve deep into the details of the compiler toolchain and OCamls simple and efficient runtime system.
Learn how to solve day-to-day problems in data processing, numerical computation, system scripting, and database-driven web applications with the OCaml multi-paradigm programming language. This hands-on book shows you how to take advantage of OCamls functional, imperative, and object-oriented programming styles with recipes for many real-world tasks.
Youll start with OCaml basics, including how to set up a development environment, and move toward more advanced topics such as the module system, foreign-function interface, macro language, and the ocamlbuild system. Quickly learn how to put OCaml to work for writing succinct and readable code.
About the Author
Yaron Minsky heads the Technology group at Jane Street, a proprietary trading firm that is the largest industrial user of OCaml. He was responsible for introducing OCaml to the company and for managing the company's transition to using OCaml for all of its core infrastructure. Today, billions of dollars worth of securities transactions flow each day through those systems. Yaron obtained his PhD in Computer Science from Cornell University, where he studied distributed systems. Yaron has lectured, blogged and written about OCaml for years, with articles published in Communications of the ACM and the Journal of Functional Programming. He chairs the steering committee of the Commercial Users of Functional Programming, and is a member of the steering committee for the International Conference on Functional Programming.
Anil Madhavapeddy is a Senior Research Fellow at the University of Cambridge, based in the Systems Research Group. He was on the original team that developed the Xen hypervisor, and helped develop an industry-leading cloud management toolstack written entirely in OCaml. This XenServer product has been deployed on hundreds of thousands of physical hosts, and drives critical infrastructure for many Fortune 500 companies. Prior to obtaining his PhD in 2006 from the University of Cambridge, Anil had a diverse background in industry at Network Appliance, NASA and Internet Vision. In addition to professional and academic activities, he is an active member of the open-source development community with the OpenBSD operating system, is co-chair of the Commercial Uses of Functional Programmingworkshop, and serves on the boards of startup companies such as Ashima Arts where OCaml is extensively used.
Jason Hickey is a Software Engineer at Google Inc. in Mountain View, California. He is part of the team that designs and develops the global computing infrastructure used to support Google services, including the software systems for managing and scheduling massively distributed computing resources. Prior to joining Google, Jason was an Assistant Professor of Computer Science at Caltech, where his research was in reliable and fault-tolerant computing systems, including programming language design, formal methods, compilers, and new models of distributed computation. He obtained his PhD in Computer Science from Cornell University, where he studied programming languages. He is the author of the MetaPRL system, a logical framework for design and analysis of large software systems; OMake, an advanced build system for large software projects. He is the author of the textbook, An Introduction to Objective Caml (unpublished).
Table of Contents
DedicationPrologueLanguage ConceptsChapter 1: A Guided TourChapter 2: Variables and FunctionsChapter 3: Lists and PatternsChapter 4: Files, Modules, and ProgramsChapter 5: RecordsChapter 6: VariantsChapter 7: Error HandlingChapter 8: Imperative ProgrammingChapter 9: FunctorsChapter 10: First-Class ModulesChapter 11: ObjectsChapter 12: ClassesTools and TechniquesChapter 13: Maps and Hash TablesChapter 14: Command-Line ParsingChapter 15: Handling JSON DataChapter 16: Parsing with OCamllex and MenhirChapter 17: Data Serialization with S-ExpressionsChapter 18: Concurrent Programming with AsyncThe Runtime SystemChapter 19: Foreign Function InterfaceChapter 20: Memory Representation of ValuesChapter 21: Understanding the Garbage CollectorChapter 22: The Compiler Frontend: Parsing and Type CheckingChapter 23: The Compiler Backend: Bytecode and Native codeColophon
What Our Readers Are Saying
Computers and Internet » Computer Languages » ML