From: oliver <oliver@first.in-berlin.de>
To: David Allsopp <dra-news@metastack.com>
Cc: Gabriel Scherer <gabriel.scherer@gmail.com>,
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: Sun, 26 May 2013 00:42:09 +0200 [thread overview]
Message-ID: <20130525224209.GA1958@siouxsie> (raw)
In-Reply-To: <E51C5B015DBD1348A1D85763337FB6D9CC6B48E9@Remus.metastack.local>
On Sat, May 25, 2013 at 12:30:12PM +0000, David Allsopp wrote:
> 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)
The hairsplitting is built into myself - immutable property.
Regarding my english language skills I have to admit, that they could be better.
>
> > > (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.
Aha, I see.
Someone also brought in the argument of type variable.
I never had a problem with this so far.
I wonder, why I had a problem now with the stuff on page 136.
Maybe because type variable means, it's not fixed if it's type 'a,
but that a value (e.g. the recursive lists example on that page)
is a non-referenced and therefore immutable value.
The term for the input of a function normally is an "argument" or "parameter",
but seldom called variable.
Maybe thats why I stumbled over this term now.
>
> 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.
OK, I see.
Ciao,
Oliver
next prev parent reply other threads:[~2013-05-25 22:42 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
2013-05-25 22:42 ` oliver [this message]
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=20130525224209.GA1958@siouxsie \
--to=oliver@first.in-berlin.de \
--cc=Arnaud.Spiwack@lix.polytechnique.fr \
--cc=caml-list@inria.fr \
--cc=dra-news@metastack.com \
--cc=gabriel.scherer@gmail.com \
--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