From: David Allsopp <dra-news@metastack.com>
To: oliver <oliver@first.in-berlin.de>,
Gabriel Scherer <gabriel.scherer@gmail.com>
Cc: Wojciech Meyer <wojciech.meyer@gmail.com>,
Siraaj Khandkar <siraaj@khandkar.net>,
Arnaud Spiwack <Arnaud.Spiwack@lix.polytechnique.fr>,
OCaML Mailing List <caml-list@inria.fr>
Subject: RE: [Caml-list] OCaml's variables
Date: Sat, 25 May 2013 12:30:12 +0000 [thread overview]
Message-ID: <E51C5B015DBD1348A1D85763337FB6D9CC6B48E9@Remus.metastack.local> (raw)
In-Reply-To: <20130525120455.GF1947@siouxsie>
oliver wrote
> Hi,
>
> On Sat, May 25, 2013 at 01:49:46PM +0200, Gabriel Scherer wrote:
> > 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.
>
> Hmhhh.
> "Some" people? As far as I remember, I heard these arguments quite often.
Some does not mean few. You appear to be trying to split hairs without a sufficient command of English. Once upon a time I would have prefixed that "With respect", but various Internet memes mean that most people now know what a British person actually means when they say that ;o)
> > (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.
> [...]
>
> Hmhhh, and what about imperative languages?
> What part did they broke?
> And why did they "misuse" the word "variable" and in which way?
>
> Is it because of mutability, which may break all these used "mathematical
> metaphors"?
>
> Can you elaborate on why "variables" are the wrong term or a 2bad" term in
> imperative languages and not in functional languages?
There is no misuse and nothing broken - it is merely that when talking about imperative languages the word "variable" is typically where "mutable variable" is meant (because immutability is not usually of interest). When first teaching functional languages to people who are probably already familiar with imperative languages, one often chooses to eliminate the use of the word variable. This is because it can be confusing when trying to convey how to think functionally versus imperatively (a child's trick: if the student uses the word variable they are probably thinking of a reference cell and hence not functionally - so you steer the argument by "banning" the word variable from the conversation). Once you actually have an understanding of functional thinking, the elimination of the word variable becomes unnecessary.
The OCaml Language Specification is most certainly not a document intended for a beginner either to OCaml or functional programming - an obsessive elimination of the word variable would likely make the text less clear to those who will actually be reading it.
David
next prev parent reply other threads:[~2013-05-25 12:30 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-23 23:53 oliver
2013-05-24 9:01 ` Arnaud Spiwack
2013-05-24 23:30 ` oliver
2013-05-24 23:53 ` Siraaj Khandkar
2013-05-25 0:40 ` oliver
2013-05-25 5:14 ` Wojciech Meyer
2013-05-25 11:04 ` oliver
2013-05-25 11:49 ` Gabriel Scherer
2013-05-25 12:04 ` oliver
2013-05-25 12:30 ` David Allsopp [this message]
2013-05-25 22:42 ` oliver
2013-05-25 23:24 ` Lukasz Stafiniak
2013-05-25 22:57 ` oliver
2013-05-25 16:53 ` Kristopher Micinski
2013-05-25 22:44 ` oliver
2013-05-26 15:00 ` oliver
2013-05-26 18:38 ` Malcolm Matalka
2013-05-26 21:49 ` Problems to get larger user base ... (Re: [Caml-list] OCaml's variables) Oliver Bandel
2013-05-27 7:40 ` Mr. Herr
2013-05-27 8:37 ` Fabrice Le Fessant
2013-05-27 20:21 ` Mr. Herr
2013-05-27 20:36 ` Török Edwin
2013-05-27 21:10 ` Mr. Herr
2013-05-28 1:15 ` Francois Berenger
2013-05-28 18:32 ` Mr. Herr
2013-05-28 18:39 ` Malcolm Matalka
2013-05-28 18:50 ` Anil Madhavapeddy
2013-05-28 19:24 ` Mr. Herr
2013-05-28 22:00 ` Paolo Donadeo
2013-05-28 22:17 ` Mr. Herr
2013-05-28 22:43 ` Paolo Donadeo
2013-05-29 20:48 ` Mr. Herr
2013-05-29 21:11 ` Malcolm Matalka
2013-05-29 22:02 ` Mr. Herr
2013-05-29 22:10 ` Malcolm Matalka
2013-05-30 0:51 ` Francois Berenger
2013-05-30 0:45 ` Francois Berenger
2013-05-30 0:57 ` Chet Murthy
2013-05-30 1:09 ` Francois Berenger
2013-05-30 4:52 ` Malcolm Matalka
2013-05-30 5:04 ` Francois Berenger
2013-05-30 5:05 ` Chet Murthy
2013-05-30 5:11 ` Francois Berenger
2013-05-30 6:02 ` Malcolm Matalka
2013-05-30 6:36 ` Francois Berenger
2013-05-30 6:47 ` Malcolm Matalka
2013-05-30 22:41 ` Chet Murthy
2013-05-31 5:27 ` Malcolm Matalka
2013-05-31 13:32 ` Mike Lin
2013-06-03 1:15 ` Francois Berenger
2013-05-30 13:49 ` oliver
[not found] ` <20130530.091844.2217058886454447597.Christophe.Troestler@umons.ac.be>
2013-05-30 7:23 ` [Caml-list] Re: Problems to get larger user base Mihamina Rakotomandimby
2013-05-30 7:51 ` OPAM binary packages (was Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's variables)) Thomas Gazagnaire
2013-05-27 8:53 ` Problems to get larger user base ... (Re: [Caml-list] OCaml's variables) Erik de Castro Lopo
2013-05-27 12:38 ` Mr. Herr
2013-05-27 12:56 ` Paolo Donadeo
2013-05-27 20:35 ` Mr. Herr
2013-05-27 20:57 ` Paolo Donadeo
2013-05-28 1:17 ` Francois Berenger
2013-05-28 2:44 ` oliver
2013-05-28 3:40 ` Francois Berenger
2013-05-28 4:05 ` Norman Hardy
2013-05-28 12:51 ` oliver
2013-05-28 4:08 ` Norman Hardy
2013-05-28 12:36 ` oliver
2013-05-29 6:12 ` Mihamina Rakotomandimby
2013-05-29 7:31 ` Fabrice Le Fessant
2013-05-29 2:39 ` Jeff Meister
2013-05-29 2:51 ` Francois Berenger
2013-05-29 2:57 ` Jeff Meister
2013-05-29 7:50 ` Török Edwin
2013-05-29 3:06 ` oliver
2013-05-28 18:51 ` Mr. Herr
2013-05-28 19:06 ` Anthony Tavener
2013-05-28 19:47 ` Mr. Herr
2013-05-29 2:25 ` Francois Berenger
2013-05-28 4:20 ` Erik de Castro Lopo
2013-05-28 18:59 ` Mr. Herr
2013-05-29 3:08 ` Erik de Castro Lopo
2013-05-26 11:35 [Caml-list] OCaml's variables tools
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E51C5B015DBD1348A1D85763337FB6D9CC6B48E9@Remus.metastack.local \
--to=dra-news@metastack.com \
--cc=Arnaud.Spiwack@lix.polytechnique.fr \
--cc=caml-list@inria.fr \
--cc=gabriel.scherer@gmail.com \
--cc=oliver@first.in-berlin.de \
--cc=siraaj@khandkar.net \
--cc=wojciech.meyer@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox