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=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 7F057BC0B for ; Fri, 26 Jan 2007 01:16:10 +0100 (CET) Received: from smtp106.sbc.mail.mud.yahoo.com (smtp106.sbc.mail.mud.yahoo.com [68.142.198.205]) by discorde.inria.fr (8.13.6/8.13.6) with SMTP id l0Q0G75p016417 for ; Fri, 26 Jan 2007 01:16:09 +0100 Received: (qmail 50680 invoked from network); 26 Jan 2007 00:16:05 -0000 Received: from unknown (HELO ?192.168.1.100?) (rftp@pacbell.net@69.230.187.64 with plain) by smtp106.sbc.mail.mud.yahoo.com with SMTP; 26 Jan 2007 00:16:04 -0000 X-YMail-OSG: QEXOlHUVM1mV8UKOS_zXOyIHMhArfYKE3Ut15Y4Rq42WoeKnJmC0apCI5Oyk3OwSwXO63.pAMe_5eqQzl3att4XZon_yxVQpasXVyeqK7ryromIpQFs- Message-ID: <45B94842.7090506@rftp.com> Date: Thu, 25 Jan 2007 16:16:02 -0800 From: Robert Roessler User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a2pre) Gecko/20070125 Mnenhy/0.7.4.0 SeaMonkey/1.5a MIME-Version: 1.0 To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Interfacing with C question... References: <002d01c73fdc$6254d430$6a7ba8c0@treble> <1169749795.5333.17.camel@rosella.wigram> In-Reply-To: <1169749795.5333.17.camel@rosella.wigram> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 45B94847.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; interfacing:01 ocaml:01 wrote:01 imho:01 caml-list:01 macros:01 macros:01 constraints:03 processors:04 interface:06 real:10 documented:10 mechanism:10 becomes:11 bit:11 skaller wrote: > ... > It takes a bit of reading, thinking, and question asking > to figure the gc out, but it is worth it: it really isn't that > hard and IMHO the higher level macros just confuse things > by obscuring the real constraints. > > [Once you know how it works .. *then* you can use the > higher level macros because you then know what they're > sugar for .. :] While understanding what is going on under the covers *is* important, there is a key reason for using the macros: as the documented and recommended interface to the OCaml GC machinery, their use gives you a much better chance that your code will easily / automagically survive changes to the GC mechanism in the future... like if direct support of multi- cores and processors ever becomes a reality. ;) Robert Roessler roessler@rftp.com http://www.rftp.com