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.6 required=5.0 tests=AWL,NO_REAL_NAME autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id DD520BC37 for ; Fri, 21 Aug 2009 17:09:36 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArQCAKdVjkrUGyoFkWdsb2JhbACbBwEBAQEJCwoHEwO7HoQYBYI8 X-IronPort-AV: E=Sophos;i="4.44,251,1249250400"; d="scan'208";a="44925720" Received: from smtp5-g21.free.fr ([212.27.42.5]) by mail4-smtp-sop.national.inria.fr with ESMTP; 21 Aug 2009 17:09:35 +0200 Received: from smtp5-g21.free.fr (localhost [127.0.0.1]) by smtp5-g21.free.fr (Postfix) with ESMTP id 28F9CD4815D for ; Fri, 21 Aug 2009 17:09:30 +0200 (CEST) Received: from apc.happyleptic.org (happyleptic.org [82.67.194.89]) by smtp5-g21.free.fr (Postfix) with ESMTP id 07B7DD48111 for ; Fri, 21 Aug 2009 17:09:28 +0200 (CEST) Received: from fp-desktop.fr.evistel.com (ev [88.169.116.225]) by apc.happyleptic.org (Postfix) with ESMTP id 09755334FD for ; Fri, 21 Aug 2009 17:09:26 +0200 (CEST) Received: from ccellier by fp-desktop.fr.evistel.com with local (Exim 4.69) (envelope-from ) id 1MeVk6-0004UJ-L3 for caml-list@yquem.inria.fr; Fri, 21 Aug 2009 17:09:26 +0200 Date: Fri, 21 Aug 2009 17:09:26 +0200 From: rixed@happyleptic.org To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Good book about ML compilation ? Message-ID: <20090821150926.GB16600@fp-desktop.fr.evistel.com> References: <20090820184052.GA28533@happyleptic.org> <200908202302.48363.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200908202302.48363.jon@ffconsultancy.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam: no; 0.00; compilation:01 compiler:01 interresting:01 advices:01 compilation:01 structs:01 ocaml:01 interresting:01 ocaml:01 ocaml's:01 compiler:01 img:98 compilers:01 compilers:01 caml-list:01 > I much preferred another of Appel's books as an introduction to writing a > compiler: > > http://www.amazon.com/Compiling-Continuations-Andrew-W-Appel/dp/052103311X/ref=pd_sim_b_3_img Looks interresting also. Thank you both for your advices. > However, you could probably learn far more efficiently from another resource. > In particular, you can easily thrash today's ML compilers by using some of > the excellent tools and libraries like LLVM and more modern techniques like > monomorphization during JIT compilation. You might also want tuples as > structs to relieve the stress on the GC. These are some of the techniques I > am using for HLVM and the results speak for themselves (and I am describing > them in detail in OCaml Journal articles). This is also very interresting, and I already tried to install HLVM once. But my free time, as well as the lack of freely available documentation on this interresting project, force me to wait longer before jumping in. > If you want to learn how ML is (or should be) compiled then I think your best > bet is probably to ask here. I also recommend reading the source code to the > OCaml and F# compilers. Are you also interested in GCs? I think OCaml's GC is well documented compared to the other parts of the system (but probably this is because I ignore what everyone involved in writing a compiler already know).