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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id C3558BBAF for ; Sun, 20 Jul 2008 18:17:51 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAJ8Bg0jOe3NG/2dsb2JhbACtLA X-IronPort-AV: E=Sophos;i="4.31,219,1215381600"; d="scan'208";a="15314675" Received: from spoomusic.com ([206.123.115.70]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 20 Jul 2008 18:17:51 +0200 Received: (qmail 13011 invoked by uid 89); 20 Jul 2008 16:17:49 -0000 Received: from unknown (HELO ?192.168.1.99?) (98.165.129.233) by 0 with ESMTPS (DHE-RSA-AES256-SHA encrypted); 20 Jul 2008 16:17:49 -0000 Message-ID: <488364FC.6010809@ramenlabs.com> Date: Sun, 20 Jul 2008 09:17:00 -0700 From: Dave Benjamin User-Agent: Mozilla-Thunderbird 2.0.0.14 (X11/20080509) MIME-Version: 1.0 To: blue storm Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Name of currently executing function References: <487AE3A6.2080008@ramenlabs.com> <527cf6bc0807140653w6bb30b5nfa73e2e16462f181@mail.gmail.com> In-Reply-To: <527cf6bc0807140653w6bb30b5nfa73e2e16462f181@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; cvs:01 ocaml:01 endline:01 toplevel:01 toplevel:01 storm:98 condensed:98 sourceforge:01 caml-list:01 benjamin:01 data:02 output:02 blue:96 let:03 let:03 Thanks again for your help, blue storm. I condensed this technique into a simple example for PLEAC, which I just committed here: http://pleac.cvs.sourceforge.net/pleac/pleac/pleac/pleac_ocaml.data?r1=1.151&r2=1.152 It allows you to write this: (* An example named function. *) let test_function () = let str = "Hello, world!" in let num = 42 in LOG "str=\"%s\", num=%d" str num; print_endline "test complete" (* Some code to run at the toplevel. *) let () = LOG "not in a function"; test_function () And get the following output: [main.ml]: not in a function test_function[main.ml]: str="Hello, world!", num=42 test complete Regards, Dave