From: RG on
In article <hriipv$fc4$1(a)ss408.t-com.hr>,
Kazimir Majorinc <email(a)false.false> wrote:

> Is there any known specific reason?

Funny you should ask. I had wondered the exact same thing for years.
So when I met McCarthy for the first time a few years back I asked him
this very question. He said it was because he wasn't sure whether the
plural of formula was "formulas" or "formulae" and he was feeling too
lazy to get up out of his chair to consult the dictionary so he decided
to punt and go with "expressions" instead.

> Good argument for formula is that it
> is much shorter, and closer to everyday language.

Yes, I completely agree (amazing how much we seem to be in sync on this)
and I raised that very point to McCarthy at the time. To my surprise,
he actually agreed with me, and apologized that his laziness has left
posterity with such a burden. He said it was the single biggest regret
in his life, and that if he could go back in time to change it he would.
But alas...

rg
From: His kennyness on
RG wrote:
> In article <hriipv$fc4$1(a)ss408.t-com.hr>,
> Kazimir Majorinc <email(a)false.false> wrote:
>
>> Is there any known specific reason?
>
> Funny you should ask. I had wondered the exact same thing for years.
> So when I met McCarthy for the first time a few years back I asked him
> this very question. He said it was because he wasn't sure whether the
> plural of formula was "formulas" or "formulae" and he was feeling too
> lazy to get up out of his chair to consult the dictionary so he decided
> to punt and go with "expressions" instead.
>
>> Good argument for formula is that it
>> is much shorter, and closer to everyday language.
>
> Yes, I completely agree (amazing how much we seem to be in sync on this)
> and I raised that very point to McCarthy at the time. To my surprise,
> he actually agreed with me, and apologized that his laziness has left
> posterity with such a burden. He said it was the single biggest regret
> in his life, and that if he could go back in time to change it he would.
> But alas...
>
> rg

When John asked to use my laptop at the same conference he explained
that he did not really need to use it, rather that doing do so was just
a pretense to get away from some pest who was prattling on about
formulas. I expressed astonishment at the idea of using such a term
since the essence of functional programming was that expressions could
be nested (and arbitrarily deeply so) and who ever heard of subformulas?
Formulas consisted of /expressions/. Hello?

John clapped me on the back and said, "Precisely!". We had a good laugh
and then he glanced about furtively, said "I think the coast is clear",
and was gone...

kt

From: Paul Wallich on
RG wrote:
> In article <hriipv$fc4$1(a)ss408.t-com.hr>,
> Kazimir Majorinc <email(a)false.false> wrote:
>
>> Is there any known specific reason?
>
> Funny you should ask. I had wondered the exact same thing for years.
> So when I met McCarthy for the first time a few years back I asked him
> this very question. He said it was because he wasn't sure whether the
> plural of formula was "formulas" or "formulae" and he was feeling too
> lazy to get up out of his chair to consult the dictionary so he decided
> to punt and go with "expressions" instead.
>
>> Good argument for formula is that it
>> is much shorter, and closer to everyday language.
>
> Yes, I completely agree (amazing how much we seem to be in sync on this)
> and I raised that very point to McCarthy at the time. To my surprise,
> he actually agreed with me, and apologized that his laziness has left
> posterity with such a burden. He said it was the single biggest regret
> in his life, and that if he could go back in time to change it he would.
> But alas...

This story is very nearly a koan. Because "formula" in common language
has a strong connotation of things in the class of mathematical
formulas, especially those of simple logics such as first-order
predicate calculus, and chemical formulas, in which every term balances
and the world is put together from a small number of fundament pieces.
"Expression" on the other hand carries the mind into a more literary
direction, where code is being used as an only-somewhat-unnatural
language to express thoughts that may be incomplete, partly mistaken or
even sometimes apparently contradictory.

Now in the salad days of AI, in the war between the Neats and the
Scruffies, McCarthy was a Neat. Other people were hacking together stuff
that somewhat worked all around him (albeit often coming to dead ends)
while he was looking for a logical (small l) framework that wouldn't
have to be hacked to handle the messiness of the real world. For a
while, back when anyone cared about AI, this philosophical difference
was a big deal.

So to find out that one of the fundamental terms invented by the Dean of
Neats owes its existence to Scruffiness...

paul
From: Captain Obvious on
KM> Is there any known specific reason? Good argument for formula is that
KM> it is much shorter, and closer to everyday language.

McCarthy defined what symbolic expressions are, hello? He have introduced a
new term.

"A Class of Symbolic Expressions. We shall now define the S-expressions (S
stands for symbolic). They are formed by using the special characters . ( )
and and an infinite set of distinguishable atomic symbols."

So, "symbolic expression" is not equivalent to "formula". Symbolic
expression is, essentially, a formula written in a special formal way.
Symbolic expressions are KIND OF formulas.

KM> and closer to everyday language.

If anything, I think he'd better use something not that close to everyday
language, as people might think that "symbolic expressions" are just
expressions made of some symbols when hearing it out of context.

From: Captain Obvious on
KM> The term "formula" is usual for such, purely syntactic objects. For
KM> example, in propositional logic theories, one will speak about
KM> "formulas", and if context is needed, "formulas of propositional
KM> calculus." "Expression" has a connotation of expressing something that
KM> existed prior to, well, its "expression."

Let's look up wikipedia on difference between expression and formula:

http://en.wikipedia.org/wiki/Expression_(mathematics)
----
In mathematics, an expression is a finite combination of symbols that are
well-formed according to the rules applicable in the context at hand.
Symbols can designate values (constants), variables, operations, relations,
or can constitute punctuation or other syntactic entities.
----

http://en.wikipedia.org/wiki/Formula
-----
In mathematics, a formula (plural: formulas or formulae) is an entity
constructed using the symbols and formation rules of a given logical
language.

In science, a formula is a concise way of expressing information
symbolically (as in a mathematical or chemical formula), or a general
relationship between quantities. Colloquial use of the term in mathematics
often refers to a similar construct.
....
Expressions are distinct from formulas in that they cannot contain an equals
sign; whereas formulas are comparable to sentences, expressions are more
like phrases.
-----

So, if you have a thing like `3x+2`, it is an expression. (And it very well
coresponds to a Lisp "form", by the way.)
If you have `3x+2=y-5`, then it is an equation.

And where is formula then? Technically, both are, but expression and
equation are more specific and useful terms to describe objects so you can
work with them (simplify an expression, solve an equation).

So term 'formula' is not that widely used in math. I think it is mostly used
in context of theorems and laws, e.g. `v = s/t` is a formula for calculating
speed.

I dunno about logic, maybe you use formulas more widely there, but I don't
think it is relevant here.

I believe that expression is the right term, as it matches what Lisp does.

KM> Lisp is introduced on very formal way. "S-expressions" are defined
KM> syntactically, without "model" - and one possible "representation" is
KM> introduced later.

Are you sure we're reading same paper? I think textual representation and
semantical representation are defined in parallel. Perhaps it's just a bit
easier to speak about semantics when you've already explained how to denote
the damn thing.

But note what is the first sentence of the section "Recursive Functions of
Symbolic Expressions":
http://www-formal.stanford.edu/jmc/recursive/node3.html

"We shall first define a class of symbolic expressions in terms of ordered
pairs and lists."

Ordered pairs and lists, not parentheses and dots!
I think it's sends us a clear message that McCarthy considers semantics more
important than textual representation. (Duh.)

KM> But OK, my guess is that McCarthy wasn't that pedantic, and he used
KM> "expression" because he followed tradition of lambda calculus.

Is it a bad thing? Probably it is better to follow traditional terminology
than some "connotations" which Kazimir Majorinc have just made up.

KM> But, why "symbolic expressions"?

Because those are expressions consisting of symbols, duh.

"A Class of Symbolic Expressions. We shall now define the S-expressions (S
stands for symbolic). They are formed by using the special characters . ( )
and and an infinite set of distinguishable atomic symbols."

SYMBOLS.
DISTINGUISHABLE ATOMIC SYMBOLS.

This is a huge thing, actually. There are some programming languages which
try to implement macros on text level and it doesn't really work. Using
atomic symbols allowed to skip all non-essential bullshit and concentrate on
important.

Actually it is explained in the paper:

"There is a twofold reason for departing from the usual mathematical
practice of using single letters for atomic symbols. First, computer
programs frequently require hundreds of distinguishable symbols that must be
formed from the 47 characters that are printable by the IBM 704 computer.
Second, it is convenient to allow English words and phrases to stand for
atomic entities for mnemonic reasons. The symbols are atomic in the sense
that any substructure they may have as sequences of characters is ignored."

KM> My guess is - only to distinguish from M-expressions introduced in
KM> same article. As term "M-expression" is somehow abandoned, the term
KM> "S-expression" left "hanging".

I really do not understand how M-expressions can justify S-expressions.

S-expression is just a name. It is not meant to describe what it is.
But I think it fits very well, because expressions made of symbols are
really symbolic expressions.

KM> But, there is another possibility - that term "symbolic expression" was
KM> already in use in some jargon of mathematics, logic or computer
KM> science. For example, Bertrand Russell in Principia Mathematica uses
KM> term "symbolic expression." Maybe there was some other, more actual
KM> book. I believe that McCarthy's use is independent of all these - but I
KM> don't know that.

Once again, McCarthy _defines_ what symbolic expressions are, in his own
way. If he would take some widely used term and hijack it defining it in its
own way, that would be really stupid. Do you think that McCarthy is stupid?