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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 9F52A7FFB2 for ; Fri, 11 Mar 2016 18:04:39 +0100 (CET) IronPort-PHdr: 9a23:w7ZSKxFDrIAQFBPYF00uG51GYnF86YWxBRYc798ds5kLTJ75r82wAkXT6L1XgUPTWs2DsrQf27WQ4/GrCDBIyK3CmU5BWaQEbwUCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYsExnyfTB4Ov7yUtaLyZ/niKbiqtaCP01hv3mUX/BbFF2OtwLft80b08NJC50a7V/3mEZOYPlc3mhyJFiezF7W78a0+4N/oWwL46pyv+YJa6jxfrw5QLpEF3xmdjltvIy4/SXEGCyE734YGkAfkx5JBQeNyBDhQt+luSL/sq952TKGFczwV7E9Hzq4ufRFUhjt3RYAKzc8uEvekMp3neoPsRW9rhl1ypTSZ5C9O/93f6ebdtQfEzkSFv1NXjBMV9vvJ7AECPAMaKMB99Hw Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=yotambarnoy@gmail.com; spf=Pass smtp.mailfrom=yotambarnoy@gmail.com; spf=None smtp.helo=postmaster@mail-yw0-f178.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of yotambarnoy@gmail.com) identity=pra; client-ip=209.85.161.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of yotambarnoy@gmail.com designates 209.85.161.178 as permitted sender) identity=mailfrom; client-ip=209.85.161.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-yw0-f178.google.com) identity=helo; client-ip=209.85.161.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="postmaster@mail-yw0-f178.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AcAgCk+eJWk7KhVdFdhH0GqBYEA4cijGCHOQc8EAEBAQEBAQEBEAEBAQEHDQkJIS+CLYItER0BGw8PAxIJBzcCJAERAQUBIhsah2wBAxKeVIIHgTE+MYs2gWqCV4VIChknDVGEEgEFCgWGCYhXgyWBOgWOKokZjXyPAo0zER6BDzeCP4FuHi6JF4E6AQEB X-IPAS-Result: A0AcAgCk+eJWk7KhVdFdhH0GqBYEA4cijGCHOQc8EAEBAQEBAQEBEAEBAQEHDQkJIS+CLYItER0BGw8PAxIJBzcCJAERAQUBIhsah2wBAxKeVIIHgTE+MYs2gWqCV4VIChknDVGEEgEFCgWGCYhXgyWBOgWOKokZjXyPAo0zER6BDzeCP4FuHi6JF4E6AQEB X-IronPort-AV: E=Sophos;i="5.24,321,1454972400"; d="scan'208,217";a="168220825" Received: from mail-yw0-f178.google.com ([209.85.161.178]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 11 Mar 2016 18:04:38 +0100 Received: by mail-yw0-f178.google.com with SMTP id g3so98796973ywa.3 for ; Fri, 11 Mar 2016 09:04:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=i/TCFr69eHhRXBJzRCOL8Q3cU1lwNiUbzBr80HMS/U0=; b=wiS5S4w1LInnKr9/qPBEfQIT9i2IjPMio1A6f6LwzIYrdCEOIrz/VCVvIzn1s4aJic pAufWyNlJpgYkwKuB7U7PNfpyyMlnHFtkDzTkapJCWxLsR6KrYyvibuYN/7gj8ZohGTH 5+RNMdRnpWR5r1C7XKueaXcOgm98o37lvKxhGGifiJph/m9eiSrMtf/cGEKMfCyrTiCP kP5xee2wkh1rn0Yhvo3qh21GXhbvx3Ofzpm3IsXXbcwDNTJlOlvFOZZDTF1Gntkxs/vN ULD0bSJiJT7+k+9Oc5qh3Yv1cCN+mqzzhklV3JUwL9WKzGuxMhlDPtGWiqvHKn/2wq1t /DOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=i/TCFr69eHhRXBJzRCOL8Q3cU1lwNiUbzBr80HMS/U0=; b=RsGcxAvCTz4A4e2tQupK3ljtBBYMlNmUGMYdyH+6gBS3zkUzfK249WFQlK66J7JikS YYm3jCYKgNBWDBCF9QVG523Qv/6Arvs/vbQXdQtXJCBz1WuPAH6NWzMelAGjje2U4uPa 2ZS+yPOpcabLBzgcE7dIyO1Y3AJVLPY/mINrAN6fv9VGFD0hfDCTEPvqqKCavK23nsoM SAl912siKs6hZ4lpdXFHlr7Ec9bioAMe8dI985uwa+BuqEzPsVTNBsXm9z2pvnGaA4Ss J+UkQ2o2aElD5HkeEJp3qRchKA9bvDHaAUFDBlRcLlvVkJ0T6D1nagjy+U2H9LvUH6iN DZkg== X-Gm-Message-State: AD7BkJLipWYo2Ocr0IUieWLbLyKdyumswBjuuEBjEhvutbC8/WeP5av9aKNgFN4ZNe85o5paUSlR5qZXp/+ncw== X-Received: by 10.129.86.131 with SMTP id k125mr5529466ywb.158.1457715877217; Fri, 11 Mar 2016 09:04:37 -0800 (PST) MIME-Version: 1.0 Received: by 10.37.13.3 with HTTP; Fri, 11 Mar 2016 09:04:17 -0800 (PST) From: Yotam Barnoy Date: Fri, 11 Mar 2016 12:04:17 -0500 Message-ID: To: Ocaml Mailing List Content-Type: multipart/alternative; boundary=001a1143312c0b8b96052dc8ed1d Subject: [Caml-list] Flambda/compiler walkthrough + modularity --001a1143312c0b8b96052dc8ed1d Content-Type: text/plain; charset=UTF-8 Thank you so much to everyone involved with Flambda (OcamlPro, Jane Street, and all the people who labored to make it happen). I'm so excited to have such an awesome framework arrive in OCaml. I have a question, and then a suggestion. Is Flambda organized in such a modular way that we can add optimizations over time? It seems to me that now that we have set the precedent for having the AST in cmx files and have an interface for using that AST, the sky is the limit in terms of optimizations. The bigger issue I have is the following: I have long struggled with grokking the codebase. A shortage of time has made it difficult, especially because most of the codebase isn't as well documented as Flambda is. Some parts, such as byte_run's C files, are quite simple, but other parts (in particular the typechecker) are definitely trickier. While thinking about the best way to learn the new Flambda code in the minimal amount of time, I thought to myself, "wouldn't it be amazing to have Pierre Chambart and Mark Shinwell just do a video walkthrough of their code". And then I thought about the rest of the codebase, about Jacques Garrigue doing a walkthrough of the typechecker code, and each expert(s) talking about the parts they know really well, and about how amazing it would be if we had this resource on youtube. It would be the ultimate form of documentation by the foremost experts on aspects OCaml, welcoming programmers to contribute to the OCaml compiler in the easiest way possible. A step further would be if this was done on Twitch or some similar live broadcasting platform, so people could actually ask live questions as the session took place. The resulting video would be posted to youtube. What do you guys think? -Yotam --001a1143312c0b8b96052dc8ed1d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thank you so much to everyone involved with Flambda (Ocaml= Pro, Jane Street, and all the people who labored to make it happen). I'= m so excited to have such an awesome framework arrive in OCaml.

I have a question, and then a suggestion.

= Is Flambda organized in such a modular way that we can add optimizations ov= er time? It seems to me that now that we have set the precedent for having = the AST in cmx files and have an interface for using that AST, the sky is t= he limit in terms of optimizations.

The bigger iss= ue I have is the following: I have long struggled with grokking the codebas= e. A shortage of time has made it difficult, especially because most of the= codebase isn't as well documented as Flambda is. Some parts, such as b= yte_run's C files, are quite simple, but other parts (in particular the= typechecker) are definitely trickier.

While think= ing about the best way to learn the new Flambda code in the minimal amount = of time, I thought to myself, "wouldn't it be amazing to have Pier= re Chambart and Mark Shinwell just do a video walkthrough of their code&quo= t;. And then I thought about the rest of the codebase, about Jacques Garrig= ue doing a walkthrough of the typechecker code, and each expert(s) talking = about the parts they know really well, and about how amazing it would be if= we had this resource on youtube. It would be the ultimate form of document= ation by the foremost experts on aspects OCaml, welcoming programmers to co= ntribute to the OCaml compiler in the easiest way possible.

<= /div>
A step further would be if this was done on Twitch or some simila= r live broadcasting platform, so people could actually ask live questions a= s the session took place. The resulting video would be posted to youtube.

What do you guys think?

-Y= otam
--001a1143312c0b8b96052dc8ed1d--