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.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 9EBB6BC6B for ; Wed, 10 Oct 2007 14:26:16 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAC5iDEfAXQImh2dsb2JhbACOSAIBCAop X-IronPort-AV: E=Sophos;i="4.21,254,1188770400"; d="scan'208";a="17796809" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 10 Oct 2007 14:26:16 +0200 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l9ACQFoY004543 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 10 Oct 2007 14:26:16 +0200 X-IronPort-AV: E=Sophos;i="4.21,254,1188770400"; d="scan'208";a="2713871" Received: from peray.inria.fr (HELO ausone.inria.fr) ([128.93.8.98]) by mail1-relais-roc.national.inria.fr with SMTP; 10 Oct 2007 14:26:15 +0200 Received: by ausone.inria.fr (sSMTP sendmail emulation); Wed, _d Oct 2007 14:25:43 +0200 From: "Nicolas Pouillard" Cc: caml-list Subject: Re: [Caml-list] Adding class initializers with camlp4 To: joelr1 References: In-Reply-To: Date: Wed, 10 Oct 2007 14:25:43 +0200 Message-Id: <1192019130-sup-7088@port-ext2.ensta.fr> User-Agent: Sup/0.1 Content-Type: text/plain; charset=utf-8 X-j-chkmail-Score: MSGID : 470CC4E7.000 on discorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at discorde with ID 470CC4E7.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; camlp:01 camlp:01 expr:01 expr:01 cstr:01 caml-list:01 expression:02 explicit:04 aka:04 initializer:05 initializer:05 tue:06 inria:06 initializers:07 initializers:07 Excerpts from joelr1's message of Tue Oct 09 12:56:14 +0200 2007: > Does anyone have examples of how to add initializer code to a class > via camlp4? An object initializer is a `class structure item' that can be created using this quotation: <:class_str_item< initializer $e$ >> these initializers can be used in a object structure in an expression or class <:expr< object $class_str_item$ end >>. > It's not clear to me how one can extend the list of existing > initializers, for example. There may be some or there may be none. > Same thing with fields. The list is not explicit, however you can easily extend them on the front or the back. <:class_expr< object ($p$) $cstr$ end >> -> <:class_expr< object ($p$) initializer $e1$; $cst$; initializer $e2$ >> HTH, -- Nicolas Pouillard aka Ertai