OCaml at LexiFi

Alain Frisch, 2012/03/15

I'm pleased to announce that the next instance of the ML workshop will take place on September 13th in Copenhagen.

ML2012 will be an informal workshop targeting both researchers, implementors, and users of ML languages (like Standard ML, OCaml, and F#).

Alain Frisch, 2011/12/08

It is often useful to get access to types at runtime, in order to implement generic type-driven operations. A typical example is a generic value pretty-printer. Unfortunately, the OCaml compiler does not keep type information at runtime. At LexiFi, we have extended OCaml to support runtime types.

Alain Frisch, 2011/04/20

In this post, I'd like to propose a new approach to extending the syntax of OCaml that does not depend on Camlp4. This proposal is the result of discussions with Xavier Clerc, Fabrice Le Fessant, Maxence Guesdon, and has been presented to the latest meeting of the Caml Consortium. It was also quickly mentioned by Xavier Leroy during his talk at the latest OCaml Users Meeting.

Alain Frisch, 2011/04/08

A little teaser for OCaml gurus: what does the function below do?

Alain Frisch, 2010/12/28

In OCaml, generic functions like comparison and hashing are quite useful but not very flexible. In this post, I'll explain some tricks that might be useful when you want to tweak the behavior of these generic functions for your own data structures.

Alain Frisch, 2010/12/02

Thanks to an ongoing work by Jacques Le Normand, there is some hope to see Generalized Algebraic Datatypes (GADTs) in OCaml soon, so it's time to get familiar with them! In this post, I'll show how to use this new feature to represent OCaml types at runtime and define generic type-driven operations. All the examples in this post can be compiled with the current version of the GADT branch in the OCaml Subversion repository (http://caml.inria.fr/svn/ocaml/branches/gadts).

Alain Frisch, 2010/12/01

In this post, I'll not describe an existing extension to OCaml that we use at LexiFi, but rather some ideas for a future possible extension.

Alain Frisch, 2010/12/02

This is a follow-up on yesterday's post about implicit values. With five more lines added to the branch, we know have implicit arguments as well. The idea is simple: if a non-optional labeled argument, whose label starts with an underscore, is omitted at a given function call site, the compiler inserts automatically the magic underscore in place of this argument (if the same function call also has non-labeled arguments).

Alain Frisch, 2010/11/25

In this series of posts, we would like to describe some extensions to the OCaml compilers that we are using on a daily basis at LexiFi. The first extension I'm going to present makes it possible to use the same label name in several record types, or the same constructor name in several sum types.

Alain Frisch, 2010/12/01

Being lazy is sometimes good, especially if you don't have to work too hard to be lazy.

Syndicate content
For more information about LexiFi's products and services please send an e-mail to info@lexifi.com or call +33 1 47 43 90 00 (Paris)