This the official User's Manual. It serves as a complete reference guide to OCaml. Updated for each version of OCaml, it contains the description of the language, of its extensions, and the documentation of the tools and libraries included in the official distribution.
This book is notoriously much more than just an introduction to OCaml, it describes most of the language, and is accessible.
A comprehensive (742 pages) book on OCaml, covering not only the core language, but also modules, objects and classes, threads and systems programming, interoperability with C, and runtime tools. This book is a translation of a French book published by OReilly.
This is an excellent book on Unix system programming, with an emphasis on communications between processes. The main novelty of this work is the use of OCaml, instead of the C language that is customary in systems programming. This gives an unusual perspective on systems programming and on OCaml. It is assumed that the reader is familiar with OCaml and Unix shell commands.
This book teaches OCaml programming with special emphasis on scientific applications. Many examples are given, covering everything from simple numerical analysis to sophisticated real-time 3D visualisation using OpenGL. This book contains over 800 color syntax-highlighted source code examples and dozens of diagrams that elucidate the power of functional programming to explain how lightning-fast and yet remarkably-simple programs can be constructed in the OCaml programming language.
This book describes both the OCaml language and the theoretical grounds behind its powerful type system. A good complement to other books on OCaml.
This book is an introductory programming textbook based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCaml.
This book uses OCaml as a tool to introduce several important programming concepts. It is divided in three parts. The first part is an introduction to OCaml, which presents the language itself, but also introduces evaluation by rewriting, evaluation strategies and proofs of programs by induction. The second part is dedicated to the description of application programs which belong to various fields and might interest various types of readers or students. Finally, the third part is dedicated to implementation. It describes interpretation and compilation, with brief descriptions of memory management and type synthesis.
A comprehensive (742 pages) book on OCaml, covering not only the core language, but also modules, objects and classes, threads and systems programming, and interoperability with C.
Written by two of the implementors of the Caml Light compiler, this comprehensive book describes all constructs of the programming language and provides a complete documentation for the Caml Light system.
This book is a comprehensive introduction to programming in Caml. Usable as a programming course, it introduces progressively the language features and shows them at work on the fundamental programming problems. In addition to many introductory code samples, this book details the design and implementation of six complete, realistic programs in reputedly difficult application areas: compilation, type inference, automata, etc.
This book uses Caml as a tool to introduce several important programming concepts. It is divided in three parts. The first part is an introduction to Caml, which presents the language itself, but also introduces evaluation by rewriting, evaluation strategies and proofs of programs by induction. The second part is dedicated to the description of application programs which belong to various fields and might interest various types of readers or students. Finally, the third part is dedicated to implementation. It describes interpretation then compilation, with brief descriptions of memory management and type synthesis.
This book offers sixteen problems in computer science, with detailed answers to all questions and complete solutions to algorithmic problems given as Caml programs. It deals mainly with automata, finite or infinite words, formal language theory, and some classical algorithms such as bin-packing. It is intended for students who attend the optional computer science curriculum of the “classes préparatoires MPSI/MP”. It should also be useful to all teachers and computer science students up to a masters degree.
This book presents 103 exercises and 5 problems about algorithms, for masters students. It attempts to address both practical and theoretical questions. Programs are written in Caml and expressed in a purely functional style. Problem areas include programming methodology, lists, formula evaluation, Boolean logic, algorithmic complexity, trees, languages, and automata.
This is a computer science course for the first year of “classes préparatoires”. The course begins with an introductory lesson on algorithms and a description of the Caml language. Then, several fundamental algorithms are described and illustrated using Caml programs. The book adopts a mathematical approach: descriptions of mathematical objects are related to data structures in the programming language. This book is suitable for students with some mathematical background, and for everyone who wants to learn the bases of computer science.
This books is a follow-up to the previous one and is intended for second year students in “classes préparatoires”. It deals with trees, algebraic expressions, automata and languages, and Caml streams. The book contains more than 200 Caml programs.
This book was written by teachers at university and in “classes préparatoires”. It is intended for “classes préparatoires” students who study computer science and for students engaged in a computer science cursus up to the masters level. It includes a tutorial of the Caml language, a course on algorithms, data structures, automata theory, and formal logic, as well as 135 exercises with solutions.
This book presents a new approach to teaching programming concepts to beginners, based on language semantics. A simplified semantic model is used to describe in a precise manner the features found in most programming languages. This model is powerful enough to explain typechecking, polymorphism, evaluation, side-effects, modularity, exceptions. Yet, it is simple enough to be manipulated by hand, so that students can actually use it to compute. The book begins with a functional approach, based on Caml, and continues with a presentation of an imperative language, namely Ada. It also provides numerous exercises with solutions.
This book is intended for beginners, who will learn basic programming notions. The first part of the book is a programming course that initiates the reader to the Caml language. Important notions are presented from a practical point of view, and the implementation of some of these is analyzed and sketched. The second part, the “Caml workshop”, is a practical application of these notions to other domains connected to computer science, logic, automata and grammars.
Programming is a discipline by which the strengths of computers can be harnessed: large amounts of reliable memory, the ability to execute repetitive tasks relentlessly, and a high computation speed. In order to write correct programs that fulfill their specified needs, it is necessary to understand the precise semantics of the programming language. This book is targeted towards beginner programmers and provides teaching material for all programmers wishing to learn the functional programming style. The programming features introduced in this book are available in all dialects of the ML language, notably Caml-Light, OCaml and Standard ML. The concepts presented therein and illustrated in OCaml easily transpose to other programming languages.
This book gives an introduction to programming where algorithms as well as data structures are considered functionally. It is intended as an accompanying book for basic courses in computer science, but it is also suitable for self-studies. In the first part, algorithms are described in a concise and precise manner using Caml Light. The second part provides a tutorial introduction into the language Caml Light and in its last chapter a comprehensive description of the language kernel.