From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 7FE1EBBAF for ; Tue, 16 Sep 2008 17:38:01 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtMEAHtvz0hQDPIbX2dsb2JhbACTARcFBgYSBZ8ghlCBZw X-IronPort-AV: E=Sophos;i="4.32,409,1217800800"; d="scan'208";a="17350330" Received: from smtp20.orange.fr ([80.12.242.27]) by mail1-smtp-roc.national.inria.fr with ESMTP; 16 Sep 2008 17:38:01 +0200 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2008.orange.fr (SMTP Server) with ESMTP id C61A91C000B8 for ; Tue, 16 Sep 2008 17:38:00 +0200 (CEST) Received: from [127.0.0.1] (APuteaux-154-1-20-29.w83-199.abo.wanadoo.fr [83.199.21.29]) by mwinf2008.orange.fr (SMTP Server) with ESMTP id 6F2C41C000AA for ; Tue, 16 Sep 2008 17:38:00 +0200 (CEST) X-ME-UUID: 20080916153800466.6F2C41C000AA@mwinf2008.orange.fr Message-ID: <48CFD2D6.9030700@lexifi.com> Date: Tue, 16 Sep 2008 17:37:58 +0200 From: Alain Frisch User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: Caml mailing list Subject: csml: high-level bindings between OCaml and .Net Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 080915-0, 15/09/2008), Outbound message X-Antivirus-Status: Clean X-Spam: no; 0.00; frisch:01 frisch:01 lexifi:01 high-level:01 bindings:01 ocaml:01 lexifi:01 ocaml:01 pointers:01 structurally:01 compiler:01 runtime:01 runtime:01 compiler:01 ocaml's:01 Dear Caml developers, LexiFi is proud to announce the first public release of CSML, a system to interface OCaml and .Net/C#. CSML makes it possible to leverage existing .Net components from OCaml, to expose OCaml libraries into the .Net world and more generally to write mixed OCaml/.Net applications. With CSML, developers write scripts that describe interactions between the two worlds (OCaml and .Net). It is possible to bind functions, static or instance methods, properties, to pass opaque pointers from one heap to the other, or to copy values structurally. CSML preserves type safety properties from the two worlds, it propagates exceptions and first-class functions in a sound way and it deals automatically with memory management. CSML is used internally by LexiFi to develop complex OCaml/C# applications and to expose its core technologies as .Net components. More information, download, screenshots and documentation: http://www.lexifi.com/csml/ CSML is made of a compiler and a small runtime system. The runtime system is licensed under the LPGL with the classical linking exception. The compiler comes free of charge in binary form only. It is entirely possible to use CSML in the context of an open-source project or in a commercial application. Note: CSML works with the forthcoming OCaml 3.11. To use it now, you can check out a recent version from OCaml'S CVS. CSML has been tested with the two "native" ports of OCaml for Win32 (MSVC and MinGW). Enjoy! Alain Frisch LexiFi SAS