OCaml

LexiFi uses the OCaml language as its primary implementation language. LexiFi maintains its own version of the language, with powerful extensions, and contributes actively to the evolution of the official version. LexiFi's full control over its implementation stack enables tremendous flexibility in making its technology available in a wide range of technical environments.

LexiFi maintains a blog about OCaml.

OCaml and LexiFi's products

In addition to using OCaml internally, LexiFi also exposes modified OCaml compilers as key components of the LexiFi platform. Most of the LexiFi platform components, including MLFi (LexiFi's Contract Description Language), are shipped as OCaml libraries, and made available to other languages via various means. Several OCaml features, such as user-defined algebraic datatypes and module signatures, work together to make the interfaces for these libraries clean, robust, and easy to discover.

LexiFi's end-user application, LexiFi Apropos, can be extended with new financial instruments, models or analytics. The extensions take the form of user-written addins written in OCaml. Addins can be edited directly in the application itself through its integrated development environment. Only a limited subset of OCaml is needed to make good use of LexiFi's libraries when writing new addins. Users with some mathematical background can quickly become familiar enough with the language to create new financial instruments even if they are not professional programmers.

Integrated Development Environment
Integrated Development Environment

Customize your system with LexiFi Apropos' integrated development environment.

Click image to enlarge.


What is OCaml?

OCaml is a modern open source programming system. The project has received continuous support from INRIA (The French National Institute for Research in Computer Science and Control) over the past thirty years and is still actively maintained and extended.

OCaml combines the three prevalent programming paradigms (functional, imperative and object-oriented) in powerful ways. Its strong type system helps writing solid code and ensures tremendous agility during code refactoring and evolution. In addition to its high-level features, OCaml is also known for its high performance (efficient runtime system and native compilers).

For more information about OCaml, visit its official website, the INRIA website on OCaml or the Wikipedia entry.

Is LexiFi allowed to sell products that embed open-source software such as OCaml?

Yes. As a member of the Caml Consortium, LexiFi benefits from a license that allows our firm to offer commercial products based on OCaml (for more information, see the Caml License for Consortium Members).

Why did LexiFi select a functional programming language to implement its products?

Due mainly to its roots in functional programming, OCaml is exceptionally well adapted to the implementation of symbolic manipulation tools such as domain specific languages. LexiFi found that OCaml was the most effective tool for developing its financial contract description technology.

It turned out that OCaml is also a great general-purpose programming language, very well suited not only for developing elaborate technology, but also for organising the development of less exotic parts of the applications, such as user interfaces or database layers.

Today, the use of OCaml is a key ingredient in LexiFi's ability to meet and exceed its customers' demands in a timely fashion.

OCaml and .Net

LexiFi has developed CSML, a binding generator to bridge the gap between OCaml and the Microsoft .Net Framework. LexiFi uses this technology to leverage existing .Net components within its applications and also to expose its own concepts as .Net classes. CSML has been made available as a free download to the community of OCaml developers.

OCaml and Functional Programming: resources

The following links provide background information on the OCaml language and on functional programming:

Document description Format Last update
The Caml Language OCaml Language Web site. HTML  
Book: Emmanuel Chailloux, Pascal Manoury, and Bruno Pagano, Developing Applications with Objective Caml. HTML  
Book: Pierre Weis and Xavier Leroy, Le Langage Caml, Second Edition, Dunod, Paris, 1999, ISBN:2100043838, in French.    
OCaml course material. HTML  
OCaml 3.12 documentation. HTML
PDF
 
Presentation by Alain Frisch on the use of OCaml at LexiFi (in French) PDF Dec 2008
LexiFi is a member of the Caml Consortium, which also includes CEA, Citrix, Dassault Aviation, Dassault Systemes, Jane Street Capital, Microsoft, and SimCorp. HTML Mar 2009
Paper by Simon Frankau et al. on a Haskell application, developed at Barclays Capital, that uses an embedded domain specific functional language to represent and process exotic financial derivatives. PDF Jul 2008