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 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 98373BBAF for ; Sat, 4 Oct 2008 15:22:03 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AosBABgL50hKfU4bjmdsb2JhbACBcU2QZT4BAQEBCQkMBw8FnwOGRwEC X-IronPort-AV: E=Sophos;i="4.33,360,1220220000"; d="scan'208";a="17657351" Received: from ey-out-2122.google.com ([74.125.78.27]) by mail3-smtp-sop.national.inria.fr with ESMTP; 04 Oct 2008 15:22:03 +0200 Received: by ey-out-2122.google.com with SMTP id 6so627734eyi.15 for ; Sat, 04 Oct 2008 06:22:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:organization:to:subject:date :user-agent:cc:references:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:message-id:from; bh=Rdb+lc++MfVWRKNyVm9ZkX/AwbIAdxE/syuRY01gTos=; b=prDErxTWvCeqNPfUeUNdXus5fy5ghh7WRs5oHhCQz1k88wyn6IbkhdNT9W+z/ElvHp jycUWRf2Infc8FWz/fhL3SMTQa393Kk6Fk6VC+Nh2ZJUbcrQEMBab2CNfbTWvSa2R7x5 Wu2rUzNNT7cBBYg8ZyLdQinv+9FP+xFUMZS3w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=organization:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:message-id:from; b=jpKBjqVO/nBZ/9nb0elxNXPcxI8DCtB4NSHwL9QtcI2FG20d6LEqWMtn1BUQrIUdeK BEBc0CSWvtZIrXrz4jzfsBeOeF60A2tJfiW0HmMwREmNGS6xBqxKBf1mp+zdw2DVeEQ4 Wzl540Oou9PFw5p7f1Ilu+1+nt0HfLlTGDR8g= Received: by 10.210.81.10 with SMTP id e10mr3007209ebb.44.1223126522722; Sat, 04 Oct 2008 06:22:02 -0700 (PDT) Received: from leper.local (host86-139-250-145.range86-139.btcentralplus.com [86.139.250.145]) by mx.google.com with ESMTPS id q9sm7973459gve.5.2008.10.04.06.22.01 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 04 Oct 2008 06:22:02 -0700 (PDT) Organization: Flying Frog Consultancy Ltd. To: David Teller Subject: Re: [Caml-list] Metaprogramming features Date: Sat, 4 Oct 2008 15:22:54 +0100 User-Agent: KMail/1.9.9 Cc: caml-list@yquem.inria.fr References: <884069.59268.qm@web54601.mail.re2.yahoo.com> <200810040300.02624.jon@ffconsultancy.com> <1223111038.6931.7.camel@Blefuscu> In-Reply-To: <1223111038.6931.7.camel@Blefuscu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200810041522.55095.jon@ffconsultancy.com> From: Jon Harrop X-Spam: no; 0.00; 0100,:01 low-level:01 parsers:01 bytecodes:01 metaocaml:01 ocaml:01 metaocaml:01 syntax:01 trivial:01 syntax:01 trampoline:01 combinators:01 frog:98 char:01 wrote:01 On Saturday 04 October 2008 10:03:58 David Teller wrote: > On Sat, 2008-10-04 at 03:00 +0100, Jon Harrop wrote: > > 1. Obvious applications are low-level compilers for regular expressions, > > parsers and bytecodes but MetaOCaml imposes the limitations of OCaml > > (e.g. slow char and int handling) which makes it unsuitable for most such > > applications. > > Oh, well, you answer some of your own question from your other post. I > was thinking along the lines of ulex. And I have the impression you can > get a nice "finally" with MetaOCaml, albeit perhaps with a weird > syntax. If you mean "try..finally" then that is a trivial syntax extension. I cannot see how MetaOCaml would help. > Now, another obvious application is writing efficient trampoline code > and other combinators, something which I believe may be very useful for > concurrency. Yes. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e