From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 30A1CBBAF for ; Mon, 28 Jun 2010 16:26:19 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgcCAE5OKEzRVdY0f2dsb2JhbACSfYwqCBUBAQsJDAUTAx+wLYIJhQguiFMBAQMFhR8EhmWINA X-IronPort-AV: E=Sophos;i="4.53,497,1272837600"; d="scan'208,217";a="62325935" Received: from mail-bw0-f52.google.com ([209.85.214.52]) by mail1-smtp-roc.national.inria.fr with ESMTP; 28 Jun 2010 16:26:17 +0200 Received: by bwz16 with SMTP id 16so4402373bwz.39 for ; Mon, 28 Jun 2010 07:26:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received :in-reply-to:references:from:date:x-google-sender-auth:message-id :subject:to:cc:content-type; bh=QACWdCmDnDaPSqRkfoHErfQL4jeTK6Y5zALzuGiKMP0=; b=GWCOJFCPx/sEj3XHgC7zCU6Wqa++N2o9wG67QbN/aqUgGSOR2mlr0mMzHln+Hm1eRH fnp4E0xD19fjlRCoCIwmJntgEIkFx01t/DvrF118uxMHy9luyZGGgA0U8CxdRRlwCqrF vkFRG3JI/BbWyhNpA/pCcet4duzxBpqfkpp6k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=JyAe4YkXMFV8rsiIqxCccd1HVwaXP95z84JgzbYw6K66HdsOQEF7n1So8bN4sz6OAS bEEglZ7Yp+Hdxs88N56By47oJiiMiyKnRr53oBNCfPHctAC4r+Dz43xPLI2Mcz0azGto HXrC6kbvZ74PfU0F09AHFaYO5CAOMeQpcMuNc= Received: by 10.204.175.8 with SMTP id v8mr3581390bkz.196.1277735176714; Mon, 28 Jun 2010 07:26:16 -0700 (PDT) MIME-Version: 1.0 Sender: gabriel.scherer@gmail.com Received: by 10.204.68.148 with HTTP; Mon, 28 Jun 2010 07:25:56 -0700 (PDT) In-Reply-To: <4C28ABA8.2050807@gmail.com> References: <4C0EB650.6080603@gmail.com> <940CD13B-5569-4B4C-9616-7AE9132EC114@gmail.com> <4C28ABA8.2050807@gmail.com> From: bluestorm Date: Mon, 28 Jun 2010 16:25:56 +0200 X-Google-Sender-Auth: eC1f1Qw9me-WIHbsVW5FSOKIH-A Message-ID: Subject: Re: [Caml-list] Caml typed AST To: martin.potier@gmail.com Cc: caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=00032555b19a533932048a17e7b4 X-Spam: no; 0.00; ocaml:01 typedtree:01 inference:01 ocaml:01 rewriting:01 parser:01 subset:01 inference:01 compiler:01 andrej:01 typedtree:01 rewriting:01 parser:01 subset:01 compiler:01 --00032555b19a533932048a17e7b4 Content-Type: text/plain; charset=ISO-8859-1 The OCaml typedtree (post-typing AST) is rather intricate and contains details about the type inference process that you might not want to have to know about. If you don't need the full width of the OCaml language features, I would recommend starting from a smaller codebase. Rewriting a parser for a subset of the OCaml language is easy, type inference difficulty depends on the features you have in your language, but there are numerous smaller projects you could reuse. See for example [MinCaml], a minimalistic compiler for teaching purpose, or the [poly] language from the Programming Language Zoo. [MinCaml] http://min-caml.sourceforge.net/index-e.html [poly] http://andrej.com/plzoo/html/poly.html --00032555b19a533932048a17e7b4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable The OCaml typedtree (post-typing AST) is rather intricate and contains deta= ils about the type inference process that you might not want to have to kno= w about.

If you don't need the full width of the OCa= ml language features, I would recommend starting from a smaller codebase. R= ewriting a parser for a subset of the OCaml language is easy, type inferenc= e difficulty depends on the features you have in your language, but there a= re numerous smaller projects you could reuse.
See for example [MinCaml], a minimalistic compiler for teaching purpos= e, or the [poly] language from the Programming Language Zoo.

=
--00032555b19a533932048a17e7b4--