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: Drew Adams
Subject: RE: [External] : Re: How to make M-x TAB not work on (interactive) declaration?
Date: Tue, 17 Jan 2023 02:20:45 +0000

> > The use of `apply', pointed out by Anders, speaks
> > directly to "any number of arguments".  It applies
> > a function (e.g. `+') to "any number of arguments",
> > which are passed as a list.
> 
> Any number means also no argument? To me that is not clear.

That's why I pointed out that _zero is a number_.
A zero number of args means zero args, which
means no args.

> Any number of arguments is to me that it must be at least one
> argument, not no argument.

Zero is a number.  I have zero Ferraris. :-(

> * is a built-in function in ‘C source code’.
> (* &rest NUMBERS-OR-MARKERS)
> Return product of any number of arguments, which are numbers or markers.
> 
> But without having arguments, the product is one,
> which contradicts multiplication how I know it.

Yes, it's taking a shortcut, supposing that you
think of a "product" of one arg and a "product"
of zero args: (* N) -> N, (*) -> 0

But it's fairly common, for programmers at least,
to consider a "product" function as accepting any
number of arguments (or accepting a single list
of any number of elements).

Different definitions of a "product" function
are possible.  One that accepts zero or more
numbers as args (or a list of such as arg) is
handy - general, adaptable.

> (*) ➜ 1
> The Group Theory and identity is there as definitions which I could
> read, but I do not see relation between them and that function.

Imagine that you wanted to define a "product"
function that works with any number of args.
What would _you_ define as its behavior
(return value) for the zero-args case?  And
what would you use for the single-arg case?

reply via email to

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