From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id B5870BBBB for ; Sun, 22 Jan 2006 09:25:54 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k0M8PsEa012993 for ; Sun, 22 Jan 2006 09:25:54 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA26477 for ; Sun, 22 Jan 2006 09:25:53 +0100 (MET) Received: from out4.smtp.messagingengine.com (out4.smtp.messagingengine.com [66.111.4.28]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k0M8Pqh7008327 for ; Sun, 22 Jan 2006 09:25:53 +0100 Received: from frontend1.internal (mysql-sessions.internal [10.202.2.149]) by frontend1.messagingengine.com (Postfix) with ESMTP id DAB73D2F9E8 for ; Sun, 22 Jan 2006 03:25:51 -0500 (EST) Received: from frontend2.messagingengine.com ([10.202.2.151]) by frontend1.internal (MEProxy); Sun, 22 Jan 2006 03:25:51 -0500 X-Sasl-enc: bvVIS68KasSe1Et7Rae1a4SoNJK3FUBuNHNdrE1JriLp 1137918350 Received: from [172.16.13.141] (burnham.ljcrf.edu [192.231.106.2]) by frontend2.messagingengine.com (Postfix) with ESMTP id 3BCC757146C for ; Sun, 22 Jan 2006 03:25:49 -0500 (EST) Date: Sun, 22 Jan 2006 00:25:01 -0800 (PST) From: Martin Jambon X-X-Sender: martin@droopy To: caml-list@inria.fr Subject: Camlmix 1.3: OCaml-stuffed templates Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Miltered: at nez-perce with ID 43D34192.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 43D34190.004 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 toplevel:01 initialized:01 syntax:01 howto:01 jambon:01 jambon:01 expressions:03 module:03 module:03 sys:03 sys:03 dynamic:03 converted:04 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.3 I would like to announce the latest version of Camlmix, since it provides a few features that make it useful in a broader range of applications than before. It now includes applications that serve web pages with dynamic contents. Camlmix is a template processor, which converts text containing embedded OCaml into an OCaml program with embedded text. Example: This is ocaml version ## print Sys.ocaml_version ## This is ocaml version ##= Sys.ocaml_version ## becomes after execution: This is ocaml version 3.09.1 This is ocaml version 3.09.1 The main novelty is that a template can now be converted into a regular OCaml source file which provides a "render" function instead of simply executing toplevel expressions when the module is initialized. The resulting module can be compiled and included into any OCaml program, and can take advantage of the numerous libraries that are now available for OCaml, including syntax extensions. Camlmix 1.3.0 can be installed from GODI or downloaded from its home at http://martin.jambon.free.fr/camlmix Have fun! Martin -- Martin Jambon, PhD http://martin.jambon.free.fr Visit http://wikiomics.org, the Bioinformatics Howto Wiki