Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Select Page

Developing Applications with Objective Caml

Developing Applications with Objective Caml

The implementation of the Caml language has been ongoing for fifteen years. Its development comes from the Formel and then Cristal projects at INRIA, in collaboration with Denis Diderot University and the Ecole Normale Superieure. The continuous efforts of the researchers on these teams, as much to develop the theoretical underpinnings as the implementation itself, have produced over the span of years a language of very high quality. They have been able to keep pace with the constant evolution of the field while integrating new programming paradigms into a formal framework. We hope through this exposition to contribute to the widespread diffusion which this work deserves.

Objective CAML is a recent language which takes its place in the history of programming languages as a distant descendant of Lisp, having been able to draw on the lessons of its cousins while incorporating the principal characteristics of other languages. It is developed at INRIA1 and is supported by long experience with the conception of the languages in the ML family. Objective CAML is a general-purpose language for the expression of symbolic and numeric algorithms. It is object-oriented and has a parameterized module system. It supports the development of concurrent and distributed applications. It has excellent execution safety thanks to its static typing, its exception mechanism and its garbage collector. It is high-performance while still being portable. Finally, a rich development environment is available.

Objective CAML has never been the subject of a presentation to the ‘general public’. This is the task to which the authors have set themselves, giving this exposition three objectives:

  • To describe in depth the Objective CAML language, its libraries and its development environment.
  • To show and explain what are the concepts hidden behind the programming styles which can be used with Objective CAML.
  • To illustrate through numerous examples how Objective CAML can serve as the development language for various classes of applications.

The authors’ goal is to provide insight into how to choose a programming style and structure a program, consistent with a given problem, so that it is maintainable and its components are reusable.

Developing Applications with Objective Caml

by Emmanuel Chailloux, Pascal Manoury and Bruno Pagano (PDF, Online reading) – 22 Chapters

Developing Applications with Objective Caml by Emmanuel Chailloux, Pascal Manoury and Bruno Pagano