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=2.1 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 253A6BBC4 for ; Thu, 5 Mar 2009 21:51:00 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnICAIvJr0lKfVwYjWdsb2JhbACUQj8BAQEBCQkKCQ8FsnGPbgEDAQOEBQaFEg X-IronPort-AV: E=Sophos;i="4.38,308,1233529200"; d="scan'208";a="23925875" Received: from qw-out-2122.google.com ([74.125.92.24]) by mail3-smtp-sop.national.inria.fr with ESMTP; 05 Mar 2009 21:50:59 +0100 Received: by qw-out-2122.google.com with SMTP id 3so112736qwe.15 for ; Thu, 05 Mar 2009 12:50:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=IdHaDpsj85OSnRq1ecbrH7VZnv3ET9+Dg1IqhfQNMjo=; b=le/lUq/dhVBQvX5WJsEbQLTXVGnbvAHSj4zcqaE8rn0JbRpP5NIC7bQfg4yjuKtLEX cG7erlnYXBKZTxyiyYTD4AhPzD392WkLcra1D7EW3h3ZVe+3Dv3ytI9guO+F+hjKGsem e+l7e1PTjHr7dnReGbtmh4RiH+EDZjYJIxxNI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=LB40Et5BOFoE/42gsSL79HYMpKNoJgBLjwW84fmSDs49+bbuhSifmNSQNla1uz5Lrv JN/zjq3S0bwRKgZ6XqPBXR/rnRElAyQcEfQzPgjeuxqC5zcKNoLaZfOKfRtjdR0OctIN 6EG/CKX6RfRoQMLsawWU6wmjUBwVWnGjCOiO8= MIME-Version: 1.0 Sender: jake.donham@gmail.com Received: by 10.224.37.68 with SMTP id w4mr2554537qad.310.1236286258627; Thu, 05 Mar 2009 12:50:58 -0800 (PST) In-Reply-To: <200903052044.29147.jon@ffconsultancy.com> References: <91a2ba3e0903031340wcdc976cp52522eb35f7ccb73@mail.gmail.com> <200903050106.34700.jon@ffconsultancy.com> <20090305090914.GC24055@annexia.org> <200903052044.29147.jon@ffconsultancy.com> Date: Thu, 5 Mar 2009 12:50:58 -0800 X-Google-Sender-Auth: e17303c39afc81bd Message-ID: Subject: Re: [Caml-list] stl? From: Jake Donham To: Jon Harrop Cc: caml-list@yquem.inria.fr Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; stl:01 lambda:01 lambda:01 bytecode:01 runtime:01 bytecode:01 reimplement:01 ocaml:01 2009:98 javascript:98 javascript:98 wrote:01 compile:01 compiles:01 caml-list:01 On Thu, Mar 5, 2009 at 12:44 PM, Jon Harrop wrote: > Is this [the lambda IL] format documented anywhere? The ocamljs backend compiles Javascript from the lambda intermediate language. I haven't found documentation of it, but most of it is pretty easy to understand (a few things I've had to track down by seeing what they compile to in bytecode). You might find the Javascript translation a useful guide, but of course don't take it as the final word. You are right though that it makes some assumptions about the runtime representation and has already erased types. It is (obviously) good enough to be a shared IL for the bytecode and opt backends; it is mostly good enough for ocamljs (there are some places where I wish I knew more about the type of things); I can't say what your needs are with LLVM. Still it is probably a better starting point than trying to reimplement the OCaml front-end. Jake