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 843917FD92 for ; Tue, 21 Jun 2016 08:17:17 +0200 (CEST) IronPort-PHdr: 9a23:gRqMyRxFpODVe7HXCy+O+j09IxM/srCxBDY+r6Qd0OoSIJqq85mqBkHD//Il1AaPBtWKraMawLOO6OjJYi8p39WoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6kO74TNaIBjjLw09fr2zQd6DyZXpnLnqoNX6WEZhunmUWftKNhK4rAHc5IE9oLBJDeIP8CbPuWZCYO9MxGlldhq5lhf44dqsrtY4q3wD89pozcNLUL37cqIkVvQYSW1+ayFm0vb2rgHORhej4X4VU2Ne0kYZQluN0Bave57rsTbh/s96xDWedZnzRKo3RC/k6qB3VBvAhyIONjp/+2bS3J9elqVe9TeovR83+I7VZp6YMP42KqbGfdIcWmdFWu5TXipMGZ+mYoYTSeEGOLAL/MHGu1ISoE7mVkGXD+T1x2oN2yb7 Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=mshinwell@janestreet.com; spf=Pass smtp.mailfrom=mshinwell@janestreet.com; spf=None smtp.helo=postmaster@mxout3.mail.janestreet.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of mshinwell@janestreet.com) identity=pra; client-ip=38.105.200.229; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="mshinwell@janestreet.com"; x-sender="mshinwell@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of mshinwell@janestreet.com designates 38.105.200.229 as permitted sender) identity=mailfrom; client-ip=38.105.200.229; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="mshinwell@janestreet.com"; x-sender="mshinwell@janestreet.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@mxout3.mail.janestreet.com) identity=helo; client-ip=38.105.200.229; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="mshinwell@janestreet.com"; x-sender="postmaster@mxout3.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CWAAD32mhXfeXIaSZchBR9BqlVhRqMAoF6IoV1AoE0BzgUAQEBAQEBAQERAQEJFglQgjGCGwEBBBIRHQEBExkLAQ8LCw0CAgkdAgIhARIBBQEKEgYTCAoQh3QDFwMLomyBMT4xilRnhEIBAQWICQMKg3gBAQEBAQEBAwEBAQEBAQEBFwgQcYUmhE2CQ4R+glqGUAyRbTSGBoYqgXqCN4xriAqGLhIegQ8egjGBdm2KSAEBAQ X-IPAS-Result: A0CWAAD32mhXfeXIaSZchBR9BqlVhRqMAoF6IoV1AoE0BzgUAQEBAQEBAQERAQEJFglQgjGCGwEBBBIRHQEBExkLAQ8LCw0CAgkdAgIhARIBBQEKEgYTCAoQh3QDFwMLomyBMT4xilRnhEIBAQWICQMKg3gBAQEBAQEBAwEBAQEBAQEBFwgQcYUmhE2CQ4R+glqGUAyRbTSGBoYqgXqCN4xriAqGLhIegQ8egjGBdm2KSAEBAQ X-IronPort-AV: E=Sophos;i="5.26,502,1459807200"; d="scan'208";a="181936623" Received: from mxout3.mail.janestreet.com ([38.105.200.229]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jun 2016 08:17:16 +0200 Received: from tot-qpr-mailcore1.delacy.com ([172.27.56.68] helo=tot-qpr-mailcore1) by mxout3.mail.janestreet.com with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82) (envelope-from ) id 1bFEzq-0000S4-7n for caml-list@inria.fr; Tue, 21 Jun 2016 02:17:14 -0400 X-JS-Flow: external Received: by tot-qpr-mailcore1 with JS-mailcore (0.1) (envelope-from ) id BXaNvq-AAADNW-Ao; 2016-06-21 02:17:14.022184-04:00 Received: from mail-yw0-f198.google.com ([209.85.161.198]) by mxgoog1.mail.janestreet.com with esmtps (UNKNOWN:AES128-GCM-SHA256:128) (Exim 4.72) (envelope-from ) id 1bFEzp-00052I-Tq for caml-list@inria.fr; Tue, 21 Jun 2016 02:17:13 -0400 Received: by mail-yw0-f198.google.com with SMTP id i12so13541691ywa.0 for ; Mon, 20 Jun 2016 23:17:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=COJRdjpKKUL4Yl29s8gQnvFMhRqVNssD8dzalqP8jZ4=; b=qpIl51EUrA9LzVh8NKK1oMRZZ57boCW9yE3s7HuFQEzq4cLleNNnqyPTNm7xsLuNT9 5p9W8LhH8LN+J78upgjtEAThJyXOiKPNGAfyucdyHHN1oz8kq5XhsUy6pGoj6zl1IDrB VZyW6SBLDMKT5S0lFosgm8xhiShDxQqxgj8xM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=COJRdjpKKUL4Yl29s8gQnvFMhRqVNssD8dzalqP8jZ4=; b=TV6cRVwY1tTk1toV+vNrI27p3JXyzYyRB2hC4Ba+o5lb0GenEyDLB56a5gds0FBoyW 0hdjwnjvS2Tr3PjLBxdmtqdzBGv6n53rDP47CMd4FPxEaMiKF5znM3buqx88Qc+v5oVh 8SSsadeS6WSSqArDSD4u9wNFTIgy4Uxu2b8anbJN3505zIZshzsj3Z4afjVc5o5UHPkk 3uE9zc+CZ/Ay+irtXP3EYrmCwlIksNymIOxL+PFpRdBj/rtbHa1PTZj+sDOSPhF4+ZXj auWx6Wce0a8vOxS8buSBAmnOiKc31o/FSEFsFcIy9ErGi/qJmGikAULbjWJApZznpfE3 N0lQ== X-Gm-Message-State: ALyK8tL6BkYemOlbZUUcjeJvxS35ws12KWdXOXrjmU0Hki4bozC77Fi1Juwt3LAxAhzdlv+HlLsI6SIswui2dLOVKT2AgnaRHFdfiOEJ5RZYRtmR1uPwMMa/MusetpuIOwtVJJ/AVWAm9uNDBmILfI15qRQaqKrrAAIMWDban+Q= X-Received: by 10.176.65.65 with SMTP id j59mr8567323uad.108.1466489833561; Mon, 20 Jun 2016 23:17:13 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.176.65.65 with SMTP id j59mr8567318uad.108.1466489833285; Mon, 20 Jun 2016 23:17:13 -0700 (PDT) Received: by 10.103.121.79 with HTTP; Mon, 20 Jun 2016 23:17:13 -0700 (PDT) In-Reply-To: References: Date: Tue, 21 Jun 2016 07:17:13 +0100 Message-ID: From:Mark Shinwell To:Markus Mottl Cc:OCaml List Content-Type: text/plain; charset=UTF-8 X-JS-Processed-by: mailcore X-Validation-by: mshinwell@janestreet.com Subject: Re: [Caml-list] CSE with FLambda? This doesn't happen at the moment. We have it on our roadmap for OCaml 4.05 (freeze around January 2017) to implement some form of pure function application lifting and sharing, of which this is an example. We also plan to consider introducing some notion of "function body" (disentangling them from closures) so that we can automatically deduplicate functions in general. Mark On 20 June 2016 at 16:37, Markus Mottl wrote: > I haven't seen any reference to common subexpression elimination in > the FLambda documentation. Sometimes a functor may be applied to the > exact same module in different parts of the code, and it may be > cumbersome to factor out this application. > > Is or will FLambda be able to recognize such potential code > duplication and perform CSE on functor applications with identical > arguments? > > Regards, > Markus > > -- > Markus Mottl http://www.ocaml.info markus.mottl@gmail.com > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs