Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
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

  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