From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 2F9A57F89E for ; Mon, 31 Mar 2014 19:06:43 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of milanst@gmail.com) identity=pra; client-ip=209.85.223.176; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="milanst@gmail.com"; x-sender="milanst@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of milanst@gmail.com designates 209.85.223.176 as permitted sender) identity=mailfrom; client-ip=209.85.223.176; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="milanst@gmail.com"; x-sender="milanst@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-ie0-f176.google.com) identity=helo; client-ip=209.85.223.176; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="milanst@gmail.com"; x-sender="postmaster@mail-ie0-f176.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqIBAAmgOVPRVd+wlGdsb2JhbABZhBiDCsAOgRgIFg4BAQEBBwsLCRIqgiUBAQEEIx0BGxEMAQMMBgULDQICJgICIQEBEQEFARwGEwiHXAEDEaI8jA5Rgw6WWwoZJw1khXcRAQUMgR2LOoIcB4JvgUkElmGBbYxrg1sYKYR6IQ X-IPAS-Result: AqIBAAmgOVPRVd+wlGdsb2JhbABZhBiDCsAOgRgIFg4BAQEBBwsLCRIqgiUBAQEEIx0BGxEMAQMMBgULDQICJgICIQEBEQEFARwGEwiHXAEDEaI8jA5Rgw6WWwoZJw1khXcRAQUMgR2LOoIcB4JvgUkElmGBbYxrg1sYKYR6IQ X-IronPort-AV: E=Sophos;i="4.97,766,1389740400"; d="scan'208";a="65641632" Received: from mail-ie0-f176.google.com ([209.85.223.176]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 31 Mar 2014 19:06:42 +0200 Received: by mail-ie0-f176.google.com with SMTP id rd18so7947922iec.21 for ; Mon, 31 Mar 2014 10:06:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=XlaX0qqkP1KIxOhDERmz9FirfUaw/ANftrWWFiQVcEc=; b=wlvdbea9CL/EtI8iQ5EWpEGYR1rXT0tfaZYOD/ekURrKpYwph96qPxTHDz3VYK/RC8 bNiwpCMaoNNgYLn3McG0XyymozFWTT2w1srfooeiXpZBJ3nYIdsMDKnv3bgzwnom14at 6diipAkhjMb1WuzkDGgm1hxB5Kr8lCHZKM/Jp5ahvn9uIxi5oaPxsjpubZ+97uQrtmYI 4sho2gnlbW0fkFfrIsa5y1r7tW1GbdFYJPizNMFaitEcoUeNYMJl1zj1JpNrOCrPU2tV NxTsGQGcMBygVfVUB9SSgBe/CDrBx2VTzkV4meZRFYTVMZiV8bKWL3f5771hhERVZe6V aqFA== X-Received: by 10.42.62.143 with SMTP id y15mr34778956ich.14.1396285600871; Mon, 31 Mar 2014 10:06:40 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.28.231 with HTTP; Mon, 31 Mar 2014 10:06:00 -0700 (PDT) In-Reply-To: References: From: =?UTF-8?Q?Milan_Stanojevi=C4=87?= Date: Mon, 31 Mar 2014 13:06:00 -0400 Message-ID: To: Yotam Barnoy Cc: Ocaml Mailing List Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Ocaml compiler documentation Thank you for doing this, I'm interested in learning more about how compiler works. Are you creating a separate file(s) to document the compiler or you are adding comments to ml files? On Mon, Mar 31, 2014 at 11:39 AM, Yotam Barnoy wrote: > Hi everybody > > It's been mentioned before that the OCaml compiler's documentation is > somewhat lacking. I've been going over the compiler code gradually (both the > frontend and the backend) and while some parts are understandable enough, > others are missing some basic explanations. Some explanations are also > spread out throughout the codebase, making it hard to know what something > means unless you've read another part of the codebase that relates to it. > > Since the call to submit documentation commits has gone mostly unanswered, > I'd like to suggest a method of making both my own progress through the code > easier and hopefully making it easier for others who will follow. > > What I'm going to do is, focusing on more or less one file at a time, I'll > post newbie questions to the list about the code. Once I'm satisfied that I > have a good enough understanding, I'll add comments to the aforementioned > files and submit pull requests for them. I also encourage others to do the > same. > > What I need from the list, and especially from the more knowledgeable > members (who already know the compiler code) is the willingness to explain > the concepts and answer my questions, annoying as they may be. I have a > pretty decent background in compilers, ASTs, code generation, etc, but not > so much in type inference. > > I'm not suggesting a particular timeframe for this process -- I'm doing this > on the side while working on a research project and TAing, but I really > would like to get to the point where I can make significant contributions to > the toolchain, and if I can help others who follow in my footsteps, then > that's a nice bonus. > > While I could have skipped this introduction and just proceeded with > inundating the list with questions, I felt that this (hopefully) gives a > purpose and perhaps motivation for those who have the answers to answer my > questions even if they get annoying. In particular, I may often miss some > parts that may seem obvious because I don't necessarily have the time to > read all the connected code in depth. Hopefully you'll bear with me. > > Does this sound reasonable to the fine folks on the list? > > Yotam