CamIL: Un compilateur Objective Caml vers .NET

We present a first version of our Objective Caml compiler, called OCamIL, for .NET. Our goal is to understand whether this new generation of virtual machines and runtime environment can help us compile ML programs and produce executables of reasonable efficiency. Our main constraint is to be compatible with the original language, and its advanced programming features (functional values, exceptions, parameterized modules, objects).

[1]  Pieter H. Hartel,et al.  Benchmarking implementations of lazy functional languages , 1993, FPCA '93.

[2]  Nick Benton,et al.  Compiling standard ML to Java bytecodes , 1998, ICFP '98.

[3]  Frédéric Loulergue,et al.  Développement d'applications avec Objective CAML by E. Chailloux, P. Manoury and B. Pagano, O'Reilley, 2003 , 2004, Journal of functional programming.

[4]  Don Syme ILX: Extending the .NET Common IL for Functional Language Interoperability , 2001, Electron. Notes Theor. Comput. Sci..

[5]  Xavier Leroy,et al.  The effectiveness of type-based unboxing , 1997 .

[6]  Maria-Virginia Aponte,et al.  Advanced programming features in objective caml. , 2002 .

[7]  Simon L. Peyton Jones,et al.  H/Direct: a binary foreign language interface for Haskell , 1998, ICFP '98.

[8]  Robin Milner,et al.  Definition of standard ML , 1990 .

[9]  Peter Lee,et al.  No assembly required: compiling standard ML to C , 1992, LOPL.

[10]  Xavier Leroy The objective caml system release 3 , 2001 .

[11]  Andrew W. Appel,et al.  Runtime tags aren't necessary , 1989, LISP Symb. Comput..

[12]  X. Leroy The Objective Caml system release 3.09 Documentation and user''s manual , 2005 .

[13]  Rafael Dueire Lins,et al.  Benchmarking implementations of functional languages with ‘Pseudoknot’, a float-intensive benchmark , 1996, Journal of Functional Programming.

[14]  Pierre Weis,et al.  Bigloo: A Portable and Optimizing Compiler for Strict Functional Languages , 1995, SAS.