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 BC6117EE51 for ; Sat, 25 May 2013 13:50:29 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.220.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.220.181 as permitted sender) identity=mailfrom; client-ip=209.85.220.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@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-vc0-f181.google.com) identity=helo; client-ip=209.85.220.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-vc0-f181.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoACAK6koFHRVdy1m2dsb2JhbABagziwFJIjfggWDgEBAQEBBgsLCRQogiMBAQUnGQEbEgsBAwwGBQsNDSEiAREBBQEKEgYTEodoAQMPDJ5JjD+CfYRKChknAwpYiAwBBQyPEQeDVAOXO4EpjjIWKYQ3Og X-IPAS-Result: AoACAK6koFHRVdy1m2dsb2JhbABagziwFJIjfggWDgEBAQEBBgsLCRQogiMBAQUnGQEbEgsBAwwGBQsNDSEiAREBBQEKEgYTEodoAQMPDJ5JjD+CfYRKChknAwpYiAwBBQyPEQeDVAOXO4EpjjIWKYQ3Og X-IronPort-AV: E=Sophos;i="4.87,740,1363129200"; d="scan'208";a="15667103" Received: from mail-vc0-f181.google.com ([209.85.220.181]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 25 May 2013 13:50:28 +0200 Received: by mail-vc0-f181.google.com with SMTP id lf11so3786860vcb.12 for ; Sat, 25 May 2013 04:50:27 -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=0GgTM+57MB8Cs3FqxPSKO4++e4//v49KjTJQhmb9CEc=; b=zTIv7PHGuReCSqGScYgh13vZ1FwnzqZytfGG5RbGhsbcoTbwcfvJLKDMrifp3g2x5+ uqHM9PeREdC/5BpY824p7xyX9ffnXgwRWvSlnnqfkZxGBMsbWp8T0a2S0risrPSAeQ4K pbuDxqCA+1gt1lu5mplsiu1JNNJQphjuHN+sNVrw7mW50a2KxcY/fIabx2+Dz6m5Jars E85gck3uAzD4oJsXNAJM1e0fJk7pTAd/IlB8otBX8Zk4m9FIUrCWIoYUlkumVxvNENiA CvbdJGqOhvGrv1/ymXrw7wOaQKPz1tFL8n86/wKlytUv/DVRmPApP/WYpzySZFnTeCOI sr4g== X-Received: by 10.58.85.134 with SMTP id h6mr11070687vez.18.1369482627651; Sat, 25 May 2013 04:50:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.58.253.194 with HTTP; Sat, 25 May 2013 04:49:46 -0700 (PDT) In-Reply-To: <20130525110457.GA1947@siouxsie> References: <20130523235355.GI6510@siouxsie> <20130524233015.GE1923@siouxsie> <37A1A2D3-5993-4675-9937-ED3965793D1D@khandkar.net> <20130525004045.GH1923@siouxsie> <20130525110457.GA1947@siouxsie> From: Gabriel Scherer Date: Sat, 25 May 2013 13:49:46 +0200 Message-ID: To: oliver Cc: Wojciech Meyer , Siraaj Khandkar , Arnaud Spiwack , OCaML Mailing List Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [Caml-list] OCaml's variables The name "variable" has been used for centuries by the mathematicians to denote exactly names that refer to values (of course immutable values, we're talking about mathematical objects her). There is no point in trying to change it because some people conflate this notion with mutability. (When you write (x + 1), the value denoted by "x" is an unknown that depends on the context/environment; in particular it may vary when used in different contexts.) The name "variable" is also used in the expression "type variable", which denotes for example the 'a in val id : 'a -> 'a and which is clearly not associated to any form of mutation. On Sat, May 25, 2013 at 1:04 PM, oliver wrote: > Hello, > > but the that argument also holds true for other lists. > They are finite, but every element of the posisble holds a new value. > But the name for a list binds to that list, not to individual values. > That they are recursive in the case of page 136 does not change this. > > Finite lists hold finite number of posisbly different values. > Infinite lists hold infinite number of possible different values. > > I see no reason, why the finite list must be seen as key-value binding, > but the infinite list can be seen as variable. > Once the name is bound to both these kinds of lists, > they don't change. > > Compared to this, a reference would have more entitlement to be seen as > "variable". > > Ciao, > Oliver > > > On Sat, May 25, 2013 at 06:14:11AM +0100, Wojciech Meyer wrote: >> Dear Oliver, >> >> Well, the variable does not mean that the value can vary over the >> time, but rather that it means that it and can be defined over the >> set of (possibly) infinite different values. >> >> So the term variable is fully valid and justified. >> >> oliver writes: >> >> > On Fri, May 24, 2013 at 07:53:33PM -0400, Siraaj Khandkar wrote: >> >> >> >> On May 24, 2013, at 7:30 PM, oliver wrote: >> >> >> >> > On Fri, May 24, 2013 at 11:01:39AM +0200, Arnaud Spiwack wrote: >> >> >> Why were you astounded? This is a perfectly legitimate/correct >> >> >> use of the >> >> >> word "variable". >> >> > [...] >> >> > >> >> > >> >> > Do you think so? >> >> > >> >> > I have thought about making the sentence better, but did not found >> >> > a better sentence in short time. >> >> > >> >> > But name-value-binding is the term that is used in functional languages. >> >> > I wonder why the term "variable" pops up there. >> >> > And even I understood the sentence, I'm not sure if this might >> >> > create confusion >> >> > to some readers, because the term "variable" is normally not used >> >> > for functional languages. >> >> > >> >> > People new to FP will be said, there are no "variables", and then >> >> > they maybe >> >> > will be irritated, if they find that term in a reference-manual. >> >> > >> >> > Do you see what I mean? >> >> >> >> If you think of functions as equations, non-constant values are variables. >> > [...] >> > >> > Where do the non-constant values come from? >> > I don't see there non-constant values. >> > >> > Even a referemce, where the value is mutable, is represented >> > as a name-binding to the reference (container). >> > But in the chapter on page 136 it's about recursive values. >> > >> > That does not mean the values are mutable. >> > >> > So I wonder, why the term variables might be ok there. >> > >> > Why is on the one hand emphasized, that there are name-value bindings, >> > on the other hands variables are the right term? >> > >> > Or am I too picky? >> > Or has my mind be infected at the time >> > when I looked at Haskell and it's pureness? >> > >> > >> > Ciao, >> > Oliver >> >> -- >> Wojciech > > -- > 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