Date: Jun 3, 2013 11:14 PM
Author: David Bailey
Subject: Re: Warsaw Univ. course,  was Re: Work on Basic Mathematica Stephen!

On 03/06/2013 08:25, Richard Fateman wrote:
> On 6/1/2013 9:22 PM, David Bailey wrote:
>> On 01/06/2013 11:06, Richard Fateman wrote:
>>> I have no objection to a data type that might reasonably be called
>>> Vector, or perhaps Sequence, that implements a data structure that uses
>>> sequential storage. I object to calling it List.

>> Indeed, the essence of your criticism seems to be merely that
>> Mathematica gives a slightly different technical meaning to the English
>> word 'List' than that of Lisp!

> No, my point, though I may have worn it out with repetition, is that
> using Mathematica for computer science, or implying that it represents
> computer science best practices has many hazards. One of which is that
> it misuses common terms in ways that are wrong. For example List
> is used for a vector or array.


The point is that almost every technical subject usurps a few common
words, and gives them special meanings. Every computer language does
this, and some of them aren't consistent with other languages. Think of
the number of partially consistent definitions of the word 'Module' that
exist! Formats exist in Fortran, C, and Mathematica, but they aren't the

If Lisp had used a neologism like CARCDRTUPLE, it would be reasonable to
leave that word alone - and any use of CAR, CDR, CDDR, CONS, etc should
be avoided unless the meaning is essentially the same as in Lisp.
However, the motivation behind the use of words like 'List', 'Module'
and 'Format' is English, and you simply can't expect to achieve
consistency across different usages.

Incidentally, I once saw a book about physical fields classified in the
library in the pure maths section. I brought this to the attention of
the librarian, who couldn't seem to see my point, and did nothing. The
word 'field' also seems to crop up in signal processing texts in the
maths sense, where it could indeed confuse physics students. Every
re-definition of a word has a potential cost.

Calling Mathematica lists 'vectors', or even 'tuples' would be extremely
confusing to many people in certain contexts, and would almost certainly
upset you! I think you would object that a 'vector' such as
{"alpha",23,{}} wasn't a vector in the maths sense at all! Perhaps you
would prefer the syntax WolframList[1,2,3], or Obj652[1,2,3]! That
syntax would be perfect (from your point of view) because it would make
Mathematica code unreadable and much less attractive!

David Bailey