help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (*) -> 1


From: Jean Louis
Subject: Re: (*) -> 1
Date: Thu, 19 Jan 2023 11:20:52 +0300
User-agent: Mutt/2.2.9+54 (af2080d) (2022-11-21)

* Michael Heerdegen <michael_heerdegen@web.de> [2023-01-18 16:39]:
> Jean Louis <bugs@gnu.support> writes:
> 
> > I can't see that 1 is nothing for produts, but I understand what you
> > wish to say. 
> >
> > If (*) ➜ 1 is "nothing", adding three "nothing" yields with 3:
> >
> > (+ (*) (*) (*)) ➜ 3

> You are still victim of a thinking error: you only think of counts of
> things, counts of cars, etc.  But you can only _add_ counts of things, it
> makes no sense to multiply counts of things.

I am not the one trying to explain things.

I look only at functions like:

(+ (*) (*) (*)) ➜ 3

which do not result that mathematically shall be sum of three
multiplications.

It is error in programming language.

Without trying to explain it, provide Lisp function where it is
actually useful.

Or otherwise, the research has shown so far:

1. nobody knows why is it useful in Lisp

2. various hypothesis have been tried out and tested. All with the
   attempt to justify how (*) ➜ 1 should be there, but none can find
   reason for (1), see aove.

3. there is no to me known piece of Emacs Lisp that would raise error
   if function `*' would be made to require two arguments, as this
   point (3) would lead to probable understanding of it.

and

4. Function makes something out of nothing instead of raising error: 
   (+ (*) (*) (*)) ➜ 3

> Saying "I have no cars in my garage, but (*) ==> 1, so where is that car
> out of nothing?"

Joke? It was joke.

> The following will be my last examples.
> 
> What kind of stuff in the real world could be multiply?  Maybe
> multiplication rates of money?

World examples are not object I am searching. I am searching how to
use (*) ➜ 1 in Lisp, and if there is no use, there is more use in
raising the error, then for capricious reasons of set theory lovers
spiting 1 as a result of multiplication of nothing.

I really don't mind of various mathematical theories, there are many,
but irrelevant stuff shall not be injected into simple multiplication.

So far you cannot tell me how is (*) ➜ 1 relevant for programmer, that
is what I am asking. Other stories in the world are only funny or
interesting, they do not help with Lisp.

> > Otherwise I don't know. Do you know use case for (concat)?
> 
> Well, invent some, I think you are able to.  We have to stop here or
> people get angry, this discussion has diverged away from Emacs.

Aha, the final conclusion is "it is there (*) ➜ 1" and please "don't
talk" or "Gods will get angry". 

> > Or was it the reason that it was maybe copied from C language which I
> > do not know, and which maybe got much more use of functions which
> > yield 1 for multiplication without any elements?
> 
> No, none of that.  We are actually speaking about elementary maths, and
> this is a useful handling of a corner case.

And instead of all of explanations, how about showing me how is it
useful?

I have shown how it is not useful:

   (+ (*) (*) (*)) ➜ 3

Where is example of how it is useful?

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]