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 C67767EE48 for ; Mon, 2 Mar 2015 10:49:39 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of bmillwood@janestreet.com) identity=pra; client-ip=38.105.200.112; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="bmillwood@janestreet.com"; x-sender="bmillwood@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of bmillwood@janestreet.com designates 38.105.200.112 as permitted sender) identity=mailfrom; client-ip=38.105.200.112; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="bmillwood@janestreet.com"; x-sender="bmillwood@janestreet.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@mxout1.mail.janestreet.com) identity=helo; client-ip=38.105.200.112; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="bmillwood@janestreet.com"; x-sender="postmaster@mxout1.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BSAQD3MPRUnHDIaSZahDKDBoEHwxgCgRoHTQEBAQEBARABAQEBAQYWCUKEBgoBAQQSER0BATcBDwsDAQcNKgICIQESAQUBHAYTIod5AxEDr1I+MYo+cIRiAQWOcA2FMwEBAQEBBQEBAQEBAQEBFAYKiwiCRIIqB4JogUOXfIFIjU+EQRIjgRWEEW+CQwEBAQ X-IPAS-Result: A0BSAQD3MPRUnHDIaSZahDKDBoEHwxgCgRoHTQEBAQEBARABAQEBAQYWCUKEBgoBAQQSER0BATcBDwsDAQcNKgICIQESAQUBHAYTIod5AxEDr1I+MYo+cIRiAQWOcA2FMwEBAQEBBQEBAQEBAQEBFAYKiwiCRIIqB4JogUOXfIFIjU+EQRIjgRWEEW+CQwEBAQ X-IronPort-AV: E=Sophos;i="5.09,674,1418079600"; d="scan'208";a="123941269" Received: from mxout1.mail.janestreet.com ([38.105.200.112]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 02 Mar 2015 10:49:39 +0100 Received: from tot-qpr-mailcore1.delacy.com ([172.27.56.68] helo=tot-qpr-mailcore1) by mxout1.mail.janestreet.com with smtp (Exim 4.82) (envelope-from ) id 1YSMyo-000816-5O for caml-list@inria.fr; Mon, 02 Mar 2015 04:49:38 -0500 X-JS-Flow: external Received: by tot-qpr-mailcore1 with JS-mailcore (0.1) (envelope-from ) id BU9DIy-AAAAnn-E1; 2015-03-02 04:49:38.155401-05:00 Received: from mail-qg0-f43.google.com ([209.85.192.43]) by mxgoog1.mail.janestreet.com with esmtps (UNKNOWN:AES128-GCM-SHA256:128) (Exim 4.72) (envelope-from ) id 1YSMyo-0006QW-1m for caml-list@inria.fr; Mon, 02 Mar 2015 04:49:38 -0500 Received: by mail-qg0-f43.google.com with SMTP id h3so923053qgf.2 for ; Mon, 02 Mar 2015 01:49:37 -0800 (PST) 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:content-type; bh=peFANcHKERygWb8bTfN+niOVVMKguPPxIHlO9NG+4WM=; b=tecfV8QCUl25cruz1JWdnx2zhY/6lMAhdueZlW5jPJX6Jlv3p/KqhSWwVUZEOASeY0 QqFQ0DJS5K3396oFStncHsF6wnI5QBTfZKha6US415jPee1gvSMTqpbacfMa2NEp0Oaj wdBPp7OyO3oEEl27wdUroqUELEMObrjdjl+4s= 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:content-type; bh=peFANcHKERygWb8bTfN+niOVVMKguPPxIHlO9NG+4WM=; b=bEpw5YktwwpnX5YqbV9njXnjn57HYHSSCZlfNgjJBSI328xSuq/ZQjAAwjg7QMYQ+g t9s29N+HM8vCx+k/JHEQz8Edu6ITkjWMOKHDMV1jYg0HK9wyleX+/mlcP6KwqH0Xj8F3 L6Eap9Vni09JVVZofoJgCgK59MjrYsP9UcLn2bc7N8QuK6TQQipv8lLCy5N594Q2qJj/ ZV/CY2ikTxv+zoLg1y+/1+5C/zWIxV92UJyHMtUfBSFECbHq4ydgKdbRSun7kmbVTQYv PJAyPcD4BRD2gzoW7Fd4uUqQ8z9bllxazP+MGirfMA6vsHNmoRfDWQhBQQXdw4/WT4W9 MS6g== X-Gm-Message-State: ALoCoQmwkL+ttZxT3l2mK5DIWI955Ww/lWwRf4tFcMEx5fUP5zDTQ7miT2EZNYW7ysEH0QDSko+m5czCpcpIPcPyqMtv6JjHhBZ3wA+zgiuBz7O81mAYhZ3/kWWherI4lgBPdyMaR1dA X-Received: by 10.140.39.70 with SMTP id u64mr47171357qgu.22.1425289777816; Mon, 02 Mar 2015 01:49:37 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.140.39.70 with SMTP id u64mr47171335qgu.22.1425289777642; Mon, 02 Mar 2015 01:49:37 -0800 (PST) Received: by 10.96.81.100 with HTTP; Mon, 2 Mar 2015 01:49:37 -0800 (PST) In-Reply-To: References: Date: Mon, 2 Mar 2015 09:49:37 +0000 Message-ID: From:Ben Millwood To:Jordan W Cc:Gabriel Scherer , "caml-list@inria.fr" Content-Type: multipart/alternative; boundary=001a11c11de6e61e8905104b226e X-JS-Processed-by: mailcore Subject: Re: [Caml-list] Mutual recursion propagates individual recursion. Why? --001a11c11de6e61e8905104b226e Content-Type: text/plain; charset=UTF-8 On 2 March 2015 at 09:18, Jordan W wrote: > > I suspect #2 would benefit metaprogramming just as well as the `let .. > and ` example. With metaprogramming, where we wish to isolate the > environments of several bindings simultaneously, how does a *single* > one of these bindings opt into self-recursiveness without forcing the > others into self-recursiveness (and thus "polluting the environment")? There's always this: let x = 4 and y = 7 and factorial = let rec f n = if n = 0 then 1 else n * f (n - 1) in f and z = 12 in ... --001a11c11de6e61e8905104b226e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 2= March 2015 at 09:18, Jordan W <jordojw@gmail.com> wrote: I suspect #2 would benefit metaprogramming just as well as the `let ..
and ` example. With metaprogramming, where we wish to isolate the
environments of several bindings simultaneously, how does a *single*
one of these bindings opt into self-recursiveness without forcing the
others into self-recursiveness (and thus "polluting the environment&qu= ot;)?

There's always this:
let x =3D 4
and y =3D 7
and factorial =3D = let rec f n =3D if n =3D 0 then 1 else n * f (n - 1) in f
and z = =3D 12
in
...
--001a11c11de6e61e8905104b226e--