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

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

Re: [External] : Re: How to make M-x TAB not work on (interactive) decla


From: Jean Louis
Subject: Re: [External] : Re: How to make M-x TAB not work on (interactive) declaration?
Date: Sun, 15 Jan 2023 23:57:29 +0300
User-agent: Mutt/2.2.9+54 (af2080d) (2022-11-21)

* Rudolf Adamkovič <salutis@me.com> [2023-01-15 23:19]:
> Jean Louis <bugs@gnu.support> writes:
> 
> >> (+) ➜ 0
> >
> > Why? It is wrong.
> 
> In Lisp, the `+' operator returns the sum of the additive identity with all of
> its arguments.  The additive identity equals zero and you provided zero
> arguments.  Hence, you get the additive identity.

It is interesting and I understand that it does, not that I agree that
it is correct. It is computer specific, not mathematics.

Nothing is not zero mathematically, so if I don't add any arguments,
there shall be no result that it is zero.

Difference Between Zero and Nothing | Compare the Difference Between Similar 
Terms:
https://www.differencebetween.com/difference-between-zero-and-vs-nothing/

What’s the difference between Zero and Nothing?

• ‘Zero’ is a number while ‘nothing’ is a concept.

• ‘Zero’ has numerical position value, while ‘nothing’ is not.

• ‘Zero’ has its own properties in arithmetic, while nothing has any
  such properties.

When we see function `+' 

Return sum of any number of arguments, which are numbers or markers.

Thus sum of any number of no arguments cannot be zero, because there
were no arguments.

> >> (*) ➜ 1
> >
> > Why? It is wrong.
> 
> In Lisp, the `*' operator returns the product of the multiplicative identity 
> and
> all of its arguments.  The multiplicative identity equals one and you provided
> zero arguments.  Hence, you get the multiplicative identity.

Description says:

(* &rest NUMBERS-OR-MARKERS)

Return product of any number of arguments, which are numbers or
markers.

Product of no arguments cannot be possibly zero, so the function is
mathematically and by description incorrect.

I do understand that there is some LISP mystery why is it so.

If nothing would be equal to zero then following would be equal:

(* 0 0 ) ➜ 0
(*) ➜ 1

but they are not.



-- 
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]